| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- // ==============================================================================
- // 江中乳酸菌素片儿童版 · Ch6 三轴图谱 × 无人地带(3 子章)
- // ==============================================================================
- // 6.1 三轴图谱·药品 / 食品 / 营养软糖
- // 6.2 无人地带坐标·乳酸菌素片独占位
- // 6.3 8 竞品精对标·VOC 差异化 MOAT
- // ==============================================================================
- const LA = require('./lactic-analyze.js');
- const C = require('./lactic-components.js');
- const { BRAND, esc, fmtLikes } = C;
- // ==========================================================
- // 6.1 · 三轴图谱
- // ==========================================================
- function renderSub6_1(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal } = ctx;
- const axes = [
- {
- name: '药品益生菌轴', color: BRAND.TECH_BLUE, icon: '💊',
- top: '妈咪爱 / 亿活 / 金双岐',
- mid: '宝乐安 / 妈咪爱钙维KD',
- bottom: '复方中药颗粒 / 儿保科处方',
- insight: '痛点:活菌冷链 / 处方门槛 / 停药反弹',
- },
- {
- name: '食品益生菌轴', color: BRAND.SUNNY_YELLOW, icon: '🍬',
- top: '合生元 / 万益蓝 / 拜奥',
- mid: 'inne 噗噗宝 / 小胖瓶 / 康萃乐',
- bottom: 'lifespace / 白贝优品 / 小品牌',
- insight: '痛点:无药效背书 / 菌株混乱 / 效果不稳定',
- },
- {
- name: '儿童营养软糖轴', color: BRAND.BERRY_PINK, icon: '🍭',
- top: '澳乐乳 / Pokeka / Swisse 钙软糖',
- mid: '汤臣倍健儿童 / 飞鹤营养包',
- bottom: '小魔兽 / 自制 DIY / 进口代购',
- insight: '痛点:瓶瓶罐罐 / 糖分焦虑 / 补了不吸收',
- },
- ];
- 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} · 三轴图谱`,
- title: '<span style="color:' + BRAND.ROSE + ';">药品 ↔ 食品 ↔ 营养软糖</span> 三轴图谱',
- subtitle: '儿童肠道 / 营养赛道是<strong>三个重叠市场</strong>——药品的权威信任 / 食品的日常友好 / 软糖的孩子喜欢。每轴都有玩家、有痛点、有未满足需求。',
- color: BRAND.ROSE,
- })}
- <div class="grid" style="grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:24px;">
- ${axes.map((a) => `
- <div style="padding:22px; background:var(--bg-1); border:1px solid var(--border); border-top:4px solid ${a.color}; border-radius:var(--radius-md);">
- <div style="display:flex; align-items:center; gap:10px; margin-bottom:16px;">
- <div style="font-size:1.8rem;">${a.icon}</div>
- <div>
- <div class="text-mono text-xs" style="color:${a.color}; letter-spacing:0.15em; font-weight:700;">AXIS</div>
- <div style="color:var(--text-1); font-weight:800; font-size:1.12rem;">${esc(a.name)}</div>
- </div>
- </div>
- <div style="display:flex; flex-direction:column; gap:10px; margin-bottom:16px;">
- <div style="padding:10px 12px; background:${a.color}14; border-radius:4px;">
- <div class="text-mono text-xs" style="color:${a.color}; font-weight:700; margin-bottom:2px;">TOP TIER</div>
- <div style="color:var(--text-1); font-size:0.84rem; line-height:1.5;">${a.top}</div>
- </div>
- <div style="padding:10px 12px; background:${a.color}0C; border-radius:4px;">
- <div class="text-mono text-xs" style="color:${a.color}; font-weight:700; margin-bottom:2px;">MID TIER</div>
- <div style="color:var(--text-2); font-size:0.84rem; line-height:1.5;">${a.mid}</div>
- </div>
- <div style="padding:10px 12px; background:${a.color}06; border-radius:4px;">
- <div class="text-mono text-xs" style="color:${a.color}; font-weight:700; margin-bottom:2px;">BOTTOM</div>
- <div style="color:var(--text-3); font-size:0.84rem; line-height:1.5;">${a.bottom}</div>
- </div>
- </div>
- <div style="padding:12px 14px; background:${BRAND.CORAL}0A; border-left:3px solid ${BRAND.CORAL}; border-radius:4px;">
- <div class="text-mono text-xs" style="color:${BRAND.CORAL}; letter-spacing:0.1em; margin-bottom:4px; font-weight:700;">PAIN POINT</div>
- <div style="color:var(--text-1); font-size:0.82rem; line-height:1.5;">${esc(a.insight)}</div>
- </div>
- </div>`).join('')}
- </div>
- <div class="fade-up" style="margin-top:28px;">
- ${C.renderInsightHero({
- eyebrow: 'THREE-AXIS CONVERGENCE · 三轴交汇',
- color: BRAND.ROSE,
- title: `单轴里都有老玩家。乳酸菌素片儿童版要做的不是在药品轴上赢妈咪爱,也不是在食品轴上赢合生元——而是<strong style="color:${BRAND.JIANG_GREEN};">把三轴最有利的心智全拉到一起</strong>:<br/>药品的<em>权威</em> + 食品的<em>日常</em> + 软糖的<em>爱吃</em>。`,
- subtitle: `下一节 6.2 展示"三轴交汇点"坐标——那就是乳酸菌素片儿童版的<strong>独家地带</strong>。`,
- })}
- </div>
- ${C.renderDecisionList([
- `<strong>药品轴战术</strong>:用 OTC 蓝帽 + 非活菌差异压过妈咪爱的冷链痛点`,
- `<strong>食品轴战术</strong>:用药品级背书 + 江中国货压过合生元"食品没效果"质疑`,
- `<strong>软糖轴战术</strong>:用水果味咀嚼片 + 低糖承接软糖赛道但无糖分焦虑`,
- `<strong>三轴共识</strong>:"像药一样有效 × 像食品一样温和 × 像糖一样爱吃"`,
- ], { title: '落地决策 · 三轴协同战术', accent: BRAND.ROSE, columns: 2 })}
- </div>
- </section>`;
- }
- // ==========================================================
- // 6.2 · 无人地带坐标
- // ==========================================================
- function renderSub6_2(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal } = ctx;
- 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} · 无人地带坐标`,
- title: '<span style="color:' + BRAND.JIANG_GREEN + ';">无人地带</span>:乳酸菌素片儿童版的独家定位坐标',
- subtitle: '三轴 × 两维(急救 / 日常 × 严肃 / 活泼)= 6 象限。5/6 象限都有强竞品,<strong>唯独"日常 × 活泼 × 药品级"</strong>无人占——这就是乳酸菌素片的坐标。',
- color: BRAND.JIANG_GREEN,
- })}
- ${C.renderMatrix2x2({
- xLabel: '场景频次 × 使用门槛',
- yLabel: '药品级 vs 日常感',
- xLow: '急救 · 病了才吃',
- xHigh: '日常 · 每天吃',
- yLow: '日常感(活泼)',
- yHigh: '严肃感(专业)',
- accent: BRAND.JIANG_GREEN,
- quadrants: {
- q1: {
- title: '右上 · 专业 × 日常(部分竞品)',
- color: BRAND.TECH_BLUE,
- items: [
- '<strong>妈咪爱</strong>(OTC 药但口感严肃)',
- '<strong>金双岐</strong>(三联活菌片)',
- '<strong>亿活</strong>(原研药 · 短疗程)',
- ],
- note: '痛点:活菌冷链 / 医嘱依赖 / 口感不友好',
- },
- q2: {
- title: '左上 · 专业 × 急救(竞品)',
- color: BRAND.WINE_RED,
- items: [
- '<strong>蒙脱石散</strong>(止泻药)',
- '<strong>头孢 / 抗生素</strong>',
- '<strong>小儿化毒散</strong>',
- ],
- note: '痛点:必须医嘱 / 不能日常 / 副作用担忧',
- },
- q3: {
- title: '左下 · 日常 × 急救(辅助品)',
- color: BRAND.WARM_ORANGE,
- items: [
- '<strong>拜奥滴剂</strong>(0-3 月)',
- '<strong>inne 噗噗宝</strong>(便秘单点)',
- '<strong>民间食疗</strong>(山楂 / 陈皮)',
- ],
- note: '痛点:单场景 / 价格贵 / 非标准化',
- },
- q4: {
- title: '右下 · 日常 × 活泼 <strong style="color:' + BRAND.JIANG_GREEN + ';">(✨ 无人地带)</strong>',
- color: BRAND.JIANG_GREEN,
- items: [
- '<strong style="color:' + BRAND.JIANG_GREEN + ';">✨ 乳酸菌素片儿童版(独占)</strong>',
- '(合生元部分覆盖但食品级)',
- '(万益蓝主打成人减肥)',
- ],
- note: '✅ 机会:药品级 + 日常 + 儿童友好',
- },
- },
- })}
- <div class="fade-up" style="margin-top:28px;">
- <div style="padding:24px 28px; background:linear-gradient(135deg, ${BRAND.JIANG_GREEN}10, ${BRAND.LACTIC_MINT}06); border:2px solid ${BRAND.JIANG_GREEN}44; border-radius:var(--radius-lg);">
- <div class="text-mono text-xs" style="color:${BRAND.JIANG_GREEN}; letter-spacing:0.2em; margin-bottom:10px; font-weight:700;">🎯 POSITIONING STATEMENT · 定位宣言</div>
- <div style="font-size:1.2rem; line-height:1.8; color:var(--text-1); font-weight:600;">
- <strong style="color:${BRAND.JIANG_GREEN};">江中乳酸菌素片儿童版</strong> 是为<br/>
- <em style="color:var(--text-2);">「有日常肠道养护需求但又不想吃药、想给孩子吃食品又怕没效果、想用软糖又怕糖分」</em><br/>
- 的<strong style="color:${BRAND.LACTIC_MINT};">中国 3-12 岁儿童家长</strong>准备的<br/>
- <strong style="color:${BRAND.BERRY_PINK};">儿童肠道调理专属 OTC 咀嚼片</strong>。<br/>
- <br/>
- 不同于<strong style="color:${BRAND.TECH_BLUE};">药品益生菌</strong>需要医嘱和冷链,<br/>
- 不同于<strong style="color:${BRAND.SUNNY_YELLOW};">食品益生菌</strong>的效果不稳定和菌株混乱,<br/>
- 不同于<strong style="color:${BRAND.BERRY_PINK};">营养软糖</strong>的糖分焦虑和瓶瓶罐罐,<br/>
- 乳酸菌素片儿童版提供<strong style="color:${BRAND.JIANG_GREEN};">"江中 OTC 药品 × 非活菌稳定 × 水果咀嚼 × 分龄专属"</strong>的四重复合心智。
- </div>
- </div>
- </div>
- ${C.renderDecisionList([
- `<strong>锁定象限 Q4</strong>:日常 × 活泼 × 药品级(唯一无人地带)`,
- `<strong>瓦解 Q1 妈咪爱</strong>:非活菌 + 无需冷链 + 儿童友好咀嚼`,
- `<strong>瓦解 Q2 合生元</strong>:OTC 药品级 + 江中国货信任`,
- `<strong>瓦解 Q3 拜奥/inne</strong>:全场景覆盖 + 全年龄段 + 亲民价格`,
- `<strong>瓦解 Q4 营养软糖</strong>:内源调理吸收 + 无糖配方 + "1 片替代十几种"`,
- `<strong>H1-H8 假设全覆盖</strong>:H1✓ 药品痛点 / H2✓ 食品信任 / H3✓ 儿童刚需 / H5✓ 喂药依从`,
- ], { title: '落地决策 · 定位坐标 6 条战术', accent: BRAND.JIANG_GREEN, columns: 2 })}
- </div>
- </section>`;
- }
- // ==========================================================
- // 6.3 · 8 竞品精对标 · VOC 差异化 MOAT
- // ==========================================================
- function renderSub6_3(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal, data } = ctx;
- const items = data.items || [];
- const maomi = LA.getEvidence(items, { keyword: '妈咪爱', minChars: 25, top: 1, seed: 5 })[0];
- const yihuo = LA.getEvidence(items, { keyword: '亿活 儿童', minChars: 25, top: 1, seed: 9 })[0];
- const jinshuangqi = LA.getEvidence(items, { keyword: '金双岐', minChars: 25, top: 1, seed: 13 })[0];
- const baolean = LA.getEvidence(items, { keyword: '宝乐安', minChars: 20, top: 1, seed: 17 })[0];
- const hesheng = LA.getEvidence(items, { keyword: '合生元益生菌', minChars: 25, top: 1, seed: 21 })[0];
- const wanyilan = LA.getEvidence(items, { keyword: '万益蓝益生菌', minChars: 25, top: 1, seed: 25 })[0];
- const baiao = LA.getEvidence(items, { keyword: '拜奥益生菌', minChars: 25, top: 1, seed: 29 })[0];
- const kangcuile = LA.getEvidence(items, { keyword: '康萃乐益生菌', minChars: 15, top: 1, seed: 33 })[0];
- const moatRows = [
- { name: '妈咪爱', axis: '药品益生菌 · 头部', color: BRAND.TECH_BLUE,
- moat: '<strong>非活菌无冷链</strong> · <strong>无需医生处方</strong> · <strong>可日常长期服用</strong>', voc: maomi },
- { name: '亿活', axis: '药品益生菌 · 原研', color: BRAND.TECH_BLUE,
- moat: '<strong>价格便宜 30-50%</strong> · <strong>可长期服用</strong> · <strong>儿童友好咀嚼片</strong>', voc: yihuo },
- { name: '金双岐', axis: '药品益生菌 · 三联', color: BRAND.SAGE,
- moat: '<strong>独立水果味咀嚼片 + 分龄</strong>(金双岐片大难吞)· <strong>包装儿童化</strong>', voc: jinshuangqi },
- { name: '宝乐安', axis: '药品益生菌 · 长尾', color: BRAND.SAGE,
- moat: '<strong>江中国民品牌背书</strong> · <strong>OTC 蓝帽+更强辨识度</strong>', voc: baolean },
- { name: '合生元', axis: '食品益生菌 · 头部', color: BRAND.SUNNY_YELLOW,
- moat: '<strong>OTC 药品级</strong> · <strong>江中国货信任</strong> · <strong>价格带便宜 50%</strong>', voc: hesheng },
- { name: '万益蓝', axis: '食品益生菌 · 成人', color: BRAND.BERRY_PINK,
- moat: '<strong>明确儿童专属</strong> · <strong>不混用成人减肥场景</strong> · <strong>分龄包装</strong>', voc: wanyilan },
- { name: '拜奥', axis: '食品益生菌 · 进口', color: BRAND.SKY_BLUE,
- moat: '<strong>无冷链便携</strong> · <strong>价格降 60%</strong> · <strong>覆盖 3-12 岁全龄</strong>', voc: baiao },
- { name: '康萃乐', axis: '食品益生菌 · 美国', color: BRAND.WARM_ORANGE,
- moat: '<strong>国货中国味</strong> · <strong>中文说明可查</strong> · <strong>价格便宜 3-4 倍</strong>', voc: kangcuile },
- ];
- 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} · 8 竞品精对标`,
- title: '<span style="color:' + BRAND.ROSE + ';">VOC 差异化 MOAT</span>·每个竞品一条护城河',
- subtitle: '逐个竞品列出:<strong>(1) 代表性 VOC 证据 / (2) 乳酸菌素片差异化 MOAT</strong>——8 条护城河共同构成竞争壁垒。',
- color: BRAND.ROSE,
- })}
- <div class="grid" style="grid-template-columns:1fr; gap:14px; margin-top:20px;">
- ${moatRows.map((r) => `
- <div style="padding:16px 20px; background:var(--bg-1); border:1px solid var(--border); border-left:4px solid ${r.color}; border-radius:var(--radius-md);">
- <div style="display:grid; grid-template-columns:200px 1.3fr 1.3fr; gap:20px; align-items:center;">
- <div>
- <div class="text-mono text-xs" style="color:${r.color}; letter-spacing:0.15em; margin-bottom:4px; font-weight:700;">${esc(r.axis.toUpperCase())}</div>
- <div style="color:var(--text-1); font-weight:800; font-size:1.05rem;">${esc(r.name)}</div>
- </div>
- <div>
- <div class="text-mono text-xs" style="color:${BRAND.CORAL}; letter-spacing:0.1em; margin-bottom:6px; font-weight:700;">VOC 代表性声音</div>
- ${r.voc ? C.renderVocCard(r.voc, { accent: r.color, compact: true, maxChars: 120 }) : '<div style="color:var(--text-3); font-size:0.82rem; padding:10px; background:var(--bg-2); border-radius:4px;">— VOC 暂缺 —</div>'}
- </div>
- <div>
- <div class="text-mono text-xs" style="color:${BRAND.JIANG_GREEN}; letter-spacing:0.1em; margin-bottom:6px; font-weight:700;">乳酸菌素片 MOAT</div>
- <div style="padding:14px 16px; background:${BRAND.JIANG_GREEN}0A; border:1px solid ${BRAND.JIANG_GREEN}33; border-radius:4px; color:var(--text-1); font-size:0.86rem; line-height:1.7;">
- ${r.moat}
- </div>
- </div>
- </div>
- </div>`).join('')}
- </div>
- <div class="fade-up" style="margin-top:28px;">
- ${C.renderInsightHero({
- eyebrow: 'MOAT SUMMARY · 护城河总结',
- color: BRAND.JIANG_GREEN,
- title: `<strong style="color:${BRAND.JIANG_GREEN};">8 条 MOAT = 8 种替换场景</strong>。乳酸菌素片不争单一赛道冠军,而是<strong>在每个赛道赢 10-15% 的替换份额</strong>—— 累计就是<strong>26 亿 × 10-15% = 2.6-4 亿</strong>的可达市场。`,
- subtitle: `关键是每条护城河都是<strong>真材实料</strong>(OTC 药品级 / 江中品牌 / 非活菌技术 / 水果咀嚼剂型),而不是营销话术——这是乳酸菌素片与所有食品益生菌的根本区别。`,
- })}
- </div>
- ${C.renderDecisionList([
- `<strong>精准 MOAT 投放</strong>:8 条护城河 = 8 条内容 / KOL / 渠道的精准攻击路径`,
- `<strong>MOAT 优先级</strong>:妈咪爱 + 合生元 优先(两大头部)· 亿活 + 金双岐 次之`,
- `<strong>避免对冲</strong>:不做全赛道正面对决,在每个赛道抢"痛点替换"`,
- `<strong>H1-H8 假设全部在章节里成立 → 为 Ch7/8 奠基</strong>`,
- ], { title: '落地决策 · MOAT 组合战术', accent: BRAND.ROSE, columns: 2 })}
- </div>
- </section>`;
- }
- module.exports = {
- 'competitor-1': renderSub6_1,
- 'competitor-2': renderSub6_2,
- 'competitor-3': renderSub6_3,
- };
|