| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349 |
- // ==============================================================================
- // 江中肝纯片 · Ch5 场景四元素地图(4 子章)
- // ==============================================================================
- // 5.1 应酬解酒·液体应急
- // 5.2 脂肪肝调理·日常养护
- // 5.3 熬夜前后·便携快取
- // 5.4 送长辈·孝心礼品
- // ==============================================================================
- const LA = require('./liver-analyze.js');
- const C = require('./liver-components.js');
- const { BRAND, esc, fmtLikes } = C;
- // ==========================================================
- // 场景共用头部渲染(时间 × 空间 × 触发事件 × 人群四元素)
- // ==========================================================
- function renderSceneHero({ color, title, subtitle, time, space, trigger, persona }) {
- return `
- <div class="fade-up" style="padding:22px 26px; background:linear-gradient(135deg, ${color}10, ${color}04); border-left:4px solid ${color}; border-radius:var(--radius-md); margin-bottom:28px;">
- <div class="text-mono text-xs" style="color:${color}; letter-spacing:0.18em; margin-bottom:10px; font-weight:700;">SCENE ANATOMY · 四元素解剖</div>
- <div style="color:var(--text-1); font-size:1.12rem; line-height:1.72; margin-bottom:10px;">${title}</div>
- ${subtitle ? `<div style="color:var(--text-2); font-size:0.92rem; margin-bottom:14px;">${subtitle}</div>` : ''}
- <div style="display:grid; grid-template-columns:repeat(4, 1fr); gap:12px;">
- <div style="padding:12px 14px; background:${color}08; border-radius:4px;">
- <div class="text-mono text-xs" style="color:${color}; font-weight:700; margin-bottom:4px;">🕐 TIME</div>
- <div style="color:var(--text-1); font-size:0.84rem; line-height:1.5;">${time}</div>
- </div>
- <div style="padding:12px 14px; background:${color}08; border-radius:4px;">
- <div class="text-mono text-xs" style="color:${color}; font-weight:700; margin-bottom:4px;">📍 SPACE</div>
- <div style="color:var(--text-1); font-size:0.84rem; line-height:1.5;">${space}</div>
- </div>
- <div style="padding:12px 14px; background:${color}08; border-radius:4px;">
- <div class="text-mono text-xs" style="color:${color}; font-weight:700; margin-bottom:4px;">⚡ TRIGGER</div>
- <div style="color:var(--text-1); font-size:0.84rem; line-height:1.5;">${trigger}</div>
- </div>
- <div style="padding:12px 14px; background:${color}08; border-radius:4px;">
- <div class="text-mono text-xs" style="color:${color}; font-weight:700; margin-bottom:4px;">👤 PERSONA</div>
- <div style="color:var(--text-1); font-size:0.84rem; line-height:1.5;">${persona}</div>
- </div>
- </div>
- </div>`;
- }
- // ==========================================================
- // 5.1 · 应酬解酒·液体应急
- // ==========================================================
- function renderSub5_1(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal, data } = ctx;
- const items = data.items || [];
- const voc = LA.getEvidence(items, {
- contentMatch: /应酬|酒局|喝酒|喝多|醉|头|醒|解酒|酒后|难受|缓解|维b|酸奶|醋|酒桌|饭局/,
- minChars: 25, top: 6, seed: 5,
- }).filter((it) => /应酬|解酒|酒局/.test(it.keyword || '') || /酒|喝|醉/.test(it.content || ''))
- .slice(0, 4);
- return `<section class="report-section" id="${c.key}-${subIdx}" data-tone="${c.tone}" data-slide-num="${slideNum}/${slideTotal}">
- <div class="section-inner">
- ${C.renderSectionHead({
- eyebrow: `${c.num}.${subIdx} · 场景 #1`,
- title: '<span style="color:' + BRAND.WINE_RED + ';">应酬解酒</span>·液体应急·肝纯片最强场景',
- subtitle: 'VOC 证据最厚(应酬解酒 ♥5729 / 酒局必备 ♥4412 / 解酒神器 ♥7295)—— 这是肝纯片的<strong>王牌场景</strong>,也是 DMY 的天然用武之地。',
- color: BRAND.WINE_RED,
- })}
- ${renderSceneHero({
- color: BRAND.WINE_RED,
- title: `<strong>"昨晚谁都不是我的对手,今天上网:喝多了第二天难受怎么缓解[笑哭R]"</strong>(XHS ♥5729)`,
- subtitle: '用户在饭局后"上网搜解决方案"的那一刻,就是肝纯片占据心智的黄金窗口——只要之前 24 小时里有过一次品牌触达。',
- time: '饭局前 30 分钟 / 饭局后次日清晨',
- space: '餐厅桌面 / 酒店房间 / 家中卧室',
- trigger: '被劝酒 · 醒来头疼 · 次日宿醉 · 预知有酒局',
- persona: '30-50 岁男性商务 / 销售 / 体制内 · 月均酒局 4-8 次',
- })}
- <div class="grid" style="grid-template-columns:1.1fr 0.9fr; gap:24px; margin-top:20px;">
- <div>
- <div class="text-mono text-xs" style="color:${BRAND.WINE_RED}; letter-spacing:0.18em; margin-bottom:14px; font-weight:700;">VOC · 真实饭局自救声音</div>
- <div style="display:flex; flex-direction:column; gap:12px;">
- ${voc.slice(0, 4).map((it) => C.renderVocCard(it, { accent: BRAND.WINE_RED, compact: true, maxChars: 200 })).join('')}
- </div>
- </div>
- <div>
- ${C.renderTheoryBox({
- theory: 'SOLUTION · 肝纯片的 3 步设计',
- accent: BRAND.WINE_RED,
- mapping: `
- <div style="display:flex; flex-direction:column; gap:12px; font-size:0.9rem;">
- <div style="padding:14px 16px; background:${BRAND.WINE_RED}0C; border-left:3px solid ${BRAND.WINE_RED}; border-radius:4px;">
- <div style="color:${BRAND.WINE_RED}; font-weight:700; margin-bottom:4px;">① 饭局前 30 分钟</div>
- <div style="color:var(--text-2); font-size:0.86rem;">吃 2 粒·<strong>DMY 预启动乙醛脱氢酶</strong> → "酒量翻倍不会吐"(♥4412 用户验证逻辑)</div>
- </div>
- <div style="padding:14px 16px; background:${BRAND.WINE_RED}0C; border-left:3px solid ${BRAND.WINE_RED}; border-radius:4px;">
- <div style="color:${BRAND.WINE_RED}; font-weight:700; margin-bottom:4px;">② 饭局中</div>
- <div style="color:var(--text-2); font-size:0.86rem;">产品形态<strong>便携不扎眼</strong>·男性口袋 / 公文包可装 24 粒铁盒</div>
- </div>
- <div style="padding:14px 16px; background:${BRAND.WINE_RED}0C; border-left:3px solid ${BRAND.WINE_RED}; border-radius:4px;">
- <div style="color:${BRAND.WINE_RED}; font-weight:700; margin-bottom:4px;">③ 饭局后 / 次日</div>
- <div style="color:var(--text-2); font-size:0.86rem;">再吃 1 粒·<strong>清解酒后头疼</strong>·成为用户记忆点的决定性体感</div>
- </div>
- </div>
- `,
- })}
- </div>
- </div>
- ${C.renderDecisionList([
- `<strong>SKU:商务铁盒 24 粒 ¥198-298</strong> · 定位"每次饭局 8 次"的用量`,
- `<strong>话术:饭前 30 分钟 + 饭后 1 粒</strong> · 教学型内容 + 场景剧</br>`,
- `<strong>渠道:餐饮 B2B2C 首选</strong> · 高档酒楼 / 商务 KTV / 地产销售酒会定向合作`,
- `<strong>反面教材</strong>:不复读海王金樽"老哒广告"模式·不讲"永远的神"类空话`,
- ], { title: '落地决策 · 应酬场景产品化', accent: BRAND.WINE_RED, columns: 2 })}
- </div>
- </section>`;
- }
- // ==========================================================
- // 5.2 · 脂肪肝调理·日常养护
- // ==========================================================
- function renderSub5_2(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal, data } = ctx;
- const items = data.items || [];
- const voc = LA.getEvidence(items, {
- contentMatch: /脂肪肝|转氨酶|体检|肝|指标|脂肪|肥胖|减脂|胆固醇|肝功|谷丙|三高|早起|饮食|熬夜/,
- minChars: 25, top: 5, seed: 7,
- }).filter((it) => ['脂肪肝', '熬夜护肝'].includes(it.keyword) || /脂肪|转氨酶|体检/.test(it.content || ''))
- .slice(0, 4);
- return `<section class="report-section" id="${c.key}-${subIdx}" data-tone="${c.tone}" data-slide-num="${slideNum}/${slideTotal}">
- <div class="section-inner">
- ${C.renderSectionHead({
- eyebrow: `${c.num}.${subIdx} · 场景 #2`,
- title: '<span style="color:' + BRAND.LIVER_AMBER + ';">脂肪肝调理</span>·日常养护·规模最大的存量市场',
- subtitle: '脂肪肝人群是<strong>已知的 2.5 亿存量</strong>——体检单是第一触发,但<strong>"怎么办"</strong>市场尚未被教育成熟。',
- color: BRAND.LIVER_AMBER,
- })}
- ${renderSceneHero({
- color: BRAND.LIVER_AMBER,
- title: `<strong>"我爱吃水果、肉、绿叶菜……为什么会得脂肪肝呢我个人推测是:1 熬夜"</strong>(XHS ♥459)`,
- subtitle: '用户知道自己得脂肪肝,但不知道怎么干预——这是典型的"问题已知 + 解决方案模糊"的蓝海机会。',
- time: '体检后 3 天内(焦虑高峰) / 早晨 / 晚饭后',
- space: '家 · 办公室 · 复诊路上',
- trigger: '体检单转氨酶异常 · 医生"注意饮食+运动" · 家人提醒',
- persona: '28-45 岁 · 都市白领 + 中年男性 · 轻-中度脂肪肝 · 月收入中高',
- })}
- <div class="grid" style="grid-template-columns:1.1fr 0.9fr; gap:24px; margin-top:20px;">
- <div>
- <div class="text-mono text-xs" style="color:${BRAND.LIVER_AMBER}; letter-spacing:0.18em; margin-bottom:14px; font-weight:700;">VOC · 脂肪肝人群真实追问</div>
- <div style="display:flex; flex-direction:column; gap:12px;">
- ${voc.slice(0, 4).map((it) => C.renderVocCard(it, { accent: BRAND.LIVER_AMBER, compact: true, maxChars: 200 })).join('')}
- </div>
- </div>
- <div>
- ${C.renderStatStrip([
- { num: '2.5亿', label: '脂肪肝患者', color: BRAND.LIVER_AMBER },
- { num: '27%', label: '成人患病率', color: BRAND.CORAL },
- { num: '18-35', label: '年轻化主力', color: BRAND.WARM_ORANGE },
- { num: '459', label: 'XHS 单条最高赞', color: BRAND.JIANG_GREEN },
- ], { accent: BRAND.LIVER_AMBER })}
- <div style="margin-top:18px; padding:18px 22px; background:${BRAND.LIVER_AMBER}08; border-left:3px solid ${BRAND.LIVER_AMBER}; border-radius:var(--radius-md);">
- <div class="text-mono text-xs" style="color:${BRAND.LIVER_AMBER}; letter-spacing:0.15em; margin-bottom:10px; font-weight:700;">USER JOURNEY · 用户旅程</div>
- <div style="color:var(--text-1); font-size:0.88rem; line-height:1.8;">
- <div><strong>Day 0</strong> → 体检单 ALT 偏高 → 焦虑高峰</div>
- <div><strong>Day 1-7</strong> → XHS / 知乎搜 "脂肪肝怎么办" → 接触信息</div>
- <div><strong>Day 8-30</strong> → 尝试饮食控制 / 运动 / 寻找辅助品</div>
- <div><strong>Day 30+</strong> → 购买保健品(如易善复但被告知需医嘱)</div>
- <div style="color:${BRAND.JIANG_GREEN}; font-weight:700; margin-top:6px;">⇒ 肝纯片切入:Day 8-30 XHS 搜索阶段 + Day 30+ 购买时提供"无医嘱 OTC"替代</div>
- </div>
- </div>
- </div>
- </div>
- ${C.renderDecisionList([
- `<strong>SKU:日常瓶 60 粒 ¥128</strong> · 定位"每天 2 粒 30 天"的日常用量`,
- `<strong>话术:30 天 ALT 下降趋势图</strong> + 医生背书 + <em>"不用医嘱但专业"</em>`,
- `<strong>渠道:药线药店 + 京东自营 + XHS 种草</strong>(体检旺季 3-4 月 + 9-10 月集中投放)`,
- `<strong>内容:与三甲医院营养科 KOL 合作</strong>·做"脂肪肝日常干预" 30 天直播营`,
- ], { title: '落地决策 · 脂肪肝场景产品化', accent: BRAND.LIVER_AMBER, columns: 2 })}
- </div>
- </section>`;
- }
- // ==========================================================
- // 5.3 · 熬夜前后·便携快取
- // ==========================================================
- function renderSub5_3(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal, data } = ctx;
- const items = data.items || [];
- const voc = LA.getEvidence(items, {
- contentMatch: /熬夜|夜|18岁|吓|脆弱|转氨酶|体检|护肝片|加班|通宵|夜班|睡得少/,
- minChars: 20, top: 5, seed: 11,
- }).filter((it) => ['熬夜伤肝', '熬夜护肝'].includes(it.keyword))
- .slice(0, 4);
- return `<section class="report-section" id="${c.key}-${subIdx}" data-tone="${c.tone}" data-slide-num="${slideNum}/${slideTotal}">
- <div class="section-inner">
- ${C.renderSectionHead({
- eyebrow: `${c.num}.${subIdx} · 场景 #3`,
- title: '<span style="color:' + BRAND.CORAL + ';">熬夜前后</span>·便携快取·Z 世代的心智入口',
- subtitle: 'VOC 王牌证据 ♥21,328 单条——"18 岁熬夜就转氨酶偏高"是年轻化市场的情感扳机。',
- color: BRAND.CORAL,
- })}
- ${renderSceneHero({
- color: BRAND.CORAL,
- title: `<strong>"听我的,真别熬夜,我才18岁,不抽烟不喝酒,就是因为经常熬夜且睡得少,体检就查出来谷丙转氨酶偏高了"</strong>(抖音 ♥21,328)`,
- subtitle: 'Z 世代从"我还年轻不需要养生"到"18 岁就转氨酶高"的心态转变,肝纯片是最简单的"心理安全带"。',
- time: '晚上 10-12 点(熬夜前) / 凌晨 2-4 点(熬夜中) / 次日早晨(后悔自救)',
- space: '宿舍 / 公寓 / 写字楼加班 / 夜店后',
- trigger: '大学期末 / 职场加班 / 追剧刷视频 / 游戏通宵 / 体检异常',
- persona: '18-30 岁 · 学生 + 职场新人 · "养生焦虑青年"',
- })}
- <div class="grid" style="grid-template-columns:1fr 1fr; gap:20px; margin-top:20px;">
- <div>
- <div class="text-mono text-xs" style="color:${BRAND.CORAL}; letter-spacing:0.18em; margin-bottom:14px; font-weight:700;">VOC · 熬夜党真实焦虑</div>
- <div style="display:flex; flex-direction:column; gap:12px;">
- ${voc.slice(0, 3).map((it) => C.renderVocCard(it, { accent: BRAND.CORAL, compact: true, maxChars: 180 })).join('')}
- </div>
- </div>
- <div>
- ${C.renderFindingCard({
- icon: '🔥',
- title: '王牌证据 · ♥21,328 抖音爆款',
- accent: BRAND.CORAL,
- body: `<strong>"听我的,真别熬夜,我才 18 岁...体检就查出来谷丙转氨酶偏高了"</strong><br/><br/>
- 这条评论在抖音 <strong style="color:${BRAND.CORAL};">21,328 次点赞</strong>,相当于<strong>一个小型 IP 的认知密度</strong>。
- <strong>年轻化市场的"转氨酶焦虑"</strong>已经成为一个可被品牌接盘的情绪金矿——肝纯片是这个金矿最自然的答案。`,
- })}
- <div style="margin-top:18px;">
- ${C.renderFindingCard({
- icon: '💊',
- title: '心智入口 · "吓得赶紧吃两粒"',
- accent: BRAND.LIVER_AMBER,
- body: `第二条高赞评论 <strong style="color:${BRAND.LIVER_AMBER};">♥4,823</strong> 就是"<strong>吓得我赶紧吃两粒护肝片</strong>"——<strong>用户自发完成了"熬夜 → 护肝片"的心智链接</strong>。
- 肝纯片只需要做一件事:<em>成为"那两粒"</em>。`,
- })}
- </div>
- </div>
- </div>
- ${C.renderDecisionList([
- `<strong>SKU:随身板装 12 粒 ¥39-68</strong> · 定位"单次熬夜 2 粒 + 备货"的低决策门槛`,
- `<strong>话术:"熬夜党心理安全带"</strong> × <em>"吃了第二天没那么虚"</em>(不夸大疗效)`,
- `<strong>渠道:抖音熬夜场景 + XHS Z 世代 KOL + 京东宿舍定向</strong>`,
- `<strong>内容:抖音剧情号合作</strong>"18 岁转氨酶异常" 情节化视频 + 肝纯片作"解法"植入`,
- ], { title: '落地决策 · 熬夜场景产品化', accent: BRAND.CORAL, columns: 2 })}
- </div>
- </section>`;
- }
- // ==========================================================
- // 5.4 · 送长辈·孝心礼品
- // ==========================================================
- function renderSub5_4(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal, data } = ctx;
- const items = data.items || [];
- const voc = LA.getEvidence(items, {
- keyword: '送长辈保健品',
- contentMatch: /长辈|父母|爸妈|婆婆|妈妈|孝心|礼物|上门|见家长|准备|十八样|8000|体面/,
- minChars: 15, top: 4, seed: 5,
- });
- return `<section class="report-section" id="${c.key}-${subIdx}" data-tone="${c.tone}" data-slide-num="${slideNum}/${slideTotal}">
- <div class="section-inner">
- ${C.renderSectionHead({
- eyebrow: `${c.num}.${subIdx} · 场景 #4`,
- title: '<span style="color:' + BRAND.GOLD + ';">送长辈·孝心礼品</span>·高毛利溢价场景',
- subtitle: '这个场景 VOC 数据<strong>最少但最有潜力</strong>——送长辈保健品市场里,<strong>护肝品类目前几乎空白</strong>。',
- color: BRAND.GOLD,
- })}
- ${renderSceneHero({
- color: BRAND.GOLD,
- title: `<strong>"一共准备了十八样礼品,准备的过程中我们两个人一起商量,我认为是两个人齐心协力的体现,也是我们对未来美好生活的向往和期待,同时更是对长辈的尊重"</strong>(XHS ♥178)`,
- subtitle: '用户已经在"怎么送礼"上自发展开深度讨论——送礼 = 关系 + 仪式感 + 面子的综合表达。肝纯片需要成为<strong>"懂行的人选的那份"</strong>。',
- time: '春节 / 中秋 / 父亲节 · 重阳节 · 见家长 · 上门拜访',
- space: '线上购买 · 线下药店礼盒 · 专柜',
- trigger: '节日 · 见家长 · 父亲熬夜加班 · 母亲体检异常 · 关系升级',
- persona: '30-45 岁 · 已购房中产 · 孝心/面子驱动 · 单笔客单 ≥ ¥500',
- })}
- <div class="grid" style="grid-template-columns:1fr 1fr; gap:20px; margin-top:20px;">
- <div>
- <div class="text-mono text-xs" style="color:${BRAND.GOLD}; letter-spacing:0.18em; margin-bottom:14px; font-weight:700;">VOC · 送礼场景真实话语</div>
- <div style="display:flex; flex-direction:column; gap:12px;">
- ${voc.slice(0, 3).map((it) => C.renderVocCard(it, { accent: BRAND.GOLD, compact: true, maxChars: 200 })).join('')}
- </div>
- </div>
- <div>
- ${C.renderTheoryBox({
- theory: 'COMPETITIVE LANDSCAPE · 送礼赛道现状',
- accent: BRAND.GOLD,
- mapping: `
- <div style="display:flex; flex-direction:column; gap:10px; font-size:0.88rem;">
- <div style="padding:12px 14px; background:${BRAND.DEEP_AMBER}0C; border-radius:4px;">
- <div style="color:${BRAND.DEEP_AMBER}; font-weight:700;">👑 东阿阿胶 / 黄芪精</div>
- <div style="color:var(--text-2); font-size:0.84rem;">补气血 · ¥400-1500 · 中式礼盒成熟</div>
- </div>
- <div style="padding:12px 14px; background:${BRAND.TECH_BLUE}0C; border-radius:4px;">
- <div style="color:${BRAND.TECH_BLUE}; font-weight:700;">🦴 汤臣倍健钙片 / 蛋白粉</div>
- <div style="color:var(--text-2); font-size:0.84rem;">补营养 · ¥200-500 · 大众化</div>
- </div>
- <div style="padding:12px 14px; background:${BRAND.SAGE}0C; border-radius:4px;">
- <div style="color:${BRAND.SAGE}; font-weight:700;">🍵 Swisse / 澳洲进口</div>
- <div style="color:var(--text-2); font-size:0.84rem;">进口心智 · ¥300-800 · 高端定位</div>
- </div>
- <div style="padding:12px 14px; background:${BRAND.GOLD}1A; border:1.5px dashed ${BRAND.GOLD}; border-radius:4px;">
- <div style="color:${BRAND.GOLD}; font-weight:800;">✨ 肝纯片送长辈礼盒 · <em>无竞品</em></div>
- <div style="color:var(--text-1); font-size:0.84rem;">藤茶 + 东方草本 · ¥498-898 · <strong>空白赛道</strong></div>
- </div>
- </div>
- `,
- })}
- </div>
- </div>
- <div class="fade-up" style="margin-top:24px;">
- ${C.renderInsightHero({
- eyebrow: 'WHITE SPACE · 品类空白',
- color: BRAND.GOLD,
- title: `<strong style="color:${BRAND.GOLD};">"送长辈保健品"</strong>赛道里,<strong>护肝</strong>目前是<strong style="color:${BRAND.JIANG_GREEN};">没有标志性品牌</strong>的空白——这是肝纯片的<em>高毛利溢价蓝海</em>。`,
- subtitle: `类比东阿阿胶占据"送气血"、黄芪精占据"送补气",<strong>肝纯片有机会独家占据"送护肝"</strong>心智。礼盒客单价 ¥498-898 对标进口 Swisse 同价,但给了"东方千年食饮 + 江中国民品牌"的双重溢价空间。`,
- })}
- </div>
- ${C.renderDecisionList([
- `<strong>SKU:礼盒 2 瓶 ¥498 / 国礼双瓶 ¥898</strong> · 中式新礼袋 + 烫金溯源卡`,
- `<strong>话术:"送给熬夜爸爸 / 应酬老公的一份贴心"</strong> × 类比东阿阿胶"送气血"模板`,
- `<strong>渠道:节日电商专场 · 药店节假日礼品专区 · 微信群团购 · 企业福利</strong>`,
- `<strong>内容:XHS "回娘家伴手礼" / "男朋友上门见家长" 话题植入</strong>(已有 ♥178 讨论基础)`,
- ], { title: '落地决策 · 送长辈场景产品化', accent: BRAND.GOLD, columns: 2 })}
- </div>
- </section>`;
- }
- module.exports = {
- 'scene-1': renderSub5_1,
- 'scene-2': renderSub5_2,
- 'scene-3': renderSub5_3,
- 'scene-4': renderSub5_4,
- };
|