| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- // ==============================================================================
- // 江中肝纯片 · Ch6 竞品三轴图谱(3 子章)
- // ==============================================================================
- // 6.1 三轴定位图谱·保健品 / OTC 药 / 食品
- // 6.2 无人地带坐标·肝纯片独占位
- // 6.3 6 竞品精对标·VOC 差异化 MOAT
- // ==============================================================================
- const LA = require('./liver-analyze.js');
- const C = require('./liver-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.PURPLE, icon: '💊',
- top: 'Swisse / 汤臣倍健 / 康恩贝',
- mid: '葵花护肝片(兼)/ 片仔癀(兼)',
- bottom: '自发食补 / 代茶饮',
- insight: '痛点:吸收差 / 同质化 / 剂量话术失信',
- },
- {
- name: 'OTC 药轴', color: BRAND.TECH_BLUE, icon: '💉',
- top: '易善复(处方) / 水飞蓟宾胶囊',
- mid: '护肝片(中成药) / 葵花护肝片',
- bottom: '复方甘草酸苷 / 五酯胶囊',
- insight: '痛点:医嘱门槛 / 副作用 / 不日常',
- },
- {
- name: '食品 / 茶饮轴', color: BRAND.TENGCHA_GREEN, icon: '🍵',
- top: '藤茶 / 莓茶 / 代用茶(张家界 GI)',
- mid: '蜂王浆 / 黄芪精 / 食补汤方',
- bottom: '普通茶水 / 温开水',
- 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 + ';">保健品 ↔ OTC 药 ↔ 食品</span> 三轴图谱',
- subtitle: '护肝赛道不是单一品类,是<strong>三个重叠的市场</strong>。每一轴都有玩家、都有痛点、都有用户——三轴交汇处就是肝纯片的<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 OVERLAP · 三轴重叠',
- color: BRAND.ROSE,
- title: `<strong style="color:${BRAND.ROSE};">任何单一轴上都有老玩家</strong>。肝纯片要做的不是在保健品轴上跟 Swisse 拼、也不是在 OTC 轴上跟易善复拼——而是<strong style="color:${BRAND.JIANG_GREEN};">把三轴最有利的心智资产全部拉到一起</strong>:<br/>保健品的<em>便捷</em> + OTC 的<em>信任</em> + 食品的<em>日常</em>。`,
- subtitle: `下一节 6.2 将展示"三轴重叠点"的坐标——那就是肝纯片的<strong>独家地带</strong>。`,
- })}
- </div>
- ${C.renderDecisionList([
- `<strong>保健品轴战术</strong>:用 DMY 真差异化压 Swisse 同质化 + 价格便宜 20-30%`,
- `<strong>OTC 药轴战术</strong>:用"无医嘱自由购" 绕开易善复 + 强调 OTC 合规背书`,
- `<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: '三轴 × 两维(功能 / 情感)= 六象限。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>(RU-21)',
- '<strong>海王金樽</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>',
- '(Swisse 部分覆盖但价贵)',
- '(张家界莓茶但无品牌)',
- ],
- note: '✅ 机会:真差异化 + 日常 + 亲民',
- },
- },
- })}
- <div class="fade-up" style="margin-top:28px;">
- <div style="padding:24px 28px; background:linear-gradient(135deg, ${BRAND.JIANG_GREEN}10, ${BRAND.TENGCHA_GREEN}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);">「有护肝需求但又不想当病人 / 想日常保养但不想吃进口贵货 / 有 OTC 信任但要便捷生活化」</em><br/>
- 的<strong style="color:${BRAND.TENGCHA_GREEN};">中国都市 25-45 岁中产群体</strong>准备的<br/>
- <strong style="color:${BRAND.LIVER_AMBER};">藤茶 DMY 日常护肝养饮片剂</strong>。<br/>
- <br/>
- 不同于<strong style="color:${BRAND.TECH_BLUE};">OTC 处方药</strong>需要医嘱,<br/>
- 不同于<strong style="color:${BRAND.PURPLE};">进口保健品</strong>的吸收差和价格贵,<br/>
- 不同于<strong style="color:${BRAND.WINE_RED};">解酒专项饮料</strong>的硬广透支,<br/>
- 肝纯片提供<strong style="color:${BRAND.JIANG_GREEN};">"中国千年藤茶 × OTC 国民品牌 × 日常便捷片剂"</strong>的三重复合心智。
- </div>
- </div>
- </div>
- ${C.renderDecisionList([
- `<strong>锁定象限 Q4</strong>:生活化 × 日常长期 × 真差异化 × 亲民价格`,
- `<strong>瓦解 Q1 易善复</strong>:无医嘱 + 价格便宜 + 东方文化感`,
- `<strong>瓦解 Q2 片仔癀</strong>:好吞服 + 现代包装 + 便携日常`,
- `<strong>瓦解 Q3 海王金樽</strong>:真体感 + 真场景 + 不硬广`,
- `<strong>瓦解 Q1 Swisse</strong>:东方草本 > 西方进口 + 价格便宜 20-30%`,
- `<strong>章节假设验证</strong>:H1 ✓ / H2 ✓ / H3 ✓ / H5 ✓`,
- ], { title: '落地决策 · 定位坐标及战术', accent: BRAND.JIANG_GREEN, columns: 2 })}
- </div>
- </section>`;
- }
- // ==========================================================
- // 6.3 · 6 竞品精对标 · VOC 差异化 MOAT
- // ==========================================================
- function renderSub6_3(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal, data } = ctx;
- const items = data.items || [];
- // 每个竞品 1 条代表性 VOC + 1 条差异化 MOAT
- const sw = LA.getEvidence(items, { keyword: 'swisse护肝片', minChars: 18, top: 1, seed: 5 })[0];
- const ys = LA.getEvidence(items, { keyword: '易善复', minChars: 15, top: 1, seed: 9 })[0];
- const kh = LA.getEvidence(items, { keyword: '葵花护肝片', minChars: 15, top: 1, seed: 13 })[0];
- const pzh = LA.getEvidence(items, { keyword: '片仔癀护肝', minChars: 15, top: 1, seed: 17 })[0];
- const hw = LA.getEvidence(items, { keyword: '海王金樽',
- contentMatch: /广告|老哒|电解质|秘密/,
- minChars: 15, top: 1, seed: 21 })[0];
- const tc = LA.getEvidence(items, { keyword: '汤臣倍健护肝', minChars: 15, top: 1, seed: 25 })[0];
- const moatRows = [
- { name: 'Swisse 护肝片', axis: '保健品轴', color: BRAND.PURPLE,
- moat: '<strong>东方草本叙事</strong> > 西方进口神话 · <strong>价格便宜 20-30%</strong> · <strong>国人代谢适配</strong>',
- voc: sw },
- { name: '易善复', axis: 'OTC 药轴', color: BRAND.TECH_BLUE,
- moat: '<strong>OTC 免医嘱</strong> · <strong>日常长期服用</strong>安全 · 覆盖<strong>预防型</strong>(不必等异常)',
- voc: ys },
- { name: '葵花护肝片', axis: 'OTC 药轴', color: BRAND.SAGE,
- moat: '<strong>食品级安全</strong>消除"天天吃担忧" · <strong>现代包装</strong>摆脱药盒感 · <strong>场景化</strong>不止"肝损"',
- voc: kh },
- { name: '片仔癀 护肝', axis: 'OTC 药轴', color: BRAND.DEEP_AMBER,
- moat: '<strong>好吞服</strong>解决口感壁垒 · <strong>价格 40% 折扣</strong> · <strong>日常化</strong>不止稀缺品',
- voc: pzh },
- { name: '海王金樽', axis: '保健品 / 解酒', color: BRAND.WINE_RED,
- moat: '<strong>真 DMY 成分</strong>替代硬广 · <strong>XHS 种草</strong>替代 TVC · <strong>多场景</strong>不止解酒',
- voc: hw },
- { name: '汤臣倍健 护肝', axis: '保健品轴', color: BRAND.LIVER_AMBER,
- moat: '<strong>DMY 真差异化</strong>打破同质化 · <strong>张家界故事</strong>建讲故事资本 · <strong>细分场景</strong>(应酬/脂肪肝/熬夜/送长辈)',
- voc: tc },
- ];
- 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} · 6 竞品精对标`,
- title: '<span style="color:' + BRAND.ROSE + ';">VOC 差异化 MOAT</span>·每个竞品一条护城河',
- subtitle: '逐个竞品列出:<strong>(1) 代表性 VOC / (2) 肝纯片的差异化 MOAT</strong>——6 条护城河共同构成肝纯片的竞争壁垒。',
- color: BRAND.ROSE,
- })}
- <div class="grid" style="grid-template-columns:1fr; gap:16px; margin-top:20px;">
- ${moatRows.map((r) => `
- <div style="padding:18px 22px; 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.1rem;">${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: 140 }) : '<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.88rem; line-height:1.72;">
- ${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};">6 条 MOAT = 6 种替换场景</strong>。肝纯片不争单一赛道冠军,而是<strong>在每个赛道赢 10-15% 的替换份额</strong>——累计就是<strong>250 亿 × 10% = 25 亿</strong>的可达市场。`,
- subtitle: `关键是每条护城河都是<strong>真材实料</strong>(DMY 真成分 / 江中真品牌 / 张家界真原产地),而不是营销话术——这是肝纯片与海王金樽路径的根本区别。`,
- })}
- </div>
- ${C.renderDecisionList([
- `<strong>精准 MOAT 投放</strong>:6 条护城河 = 6 条内容 / KOL / 渠道的精准攻击路径`,
- `<strong>MOAT 优先级</strong>:Swisse + 易善复优先(市场份额最大)· 海王金樽次之(解酒场景)`,
- `<strong>避免对冲</strong>:不做全赛道正面对决,只在每个赛道抢"痛点替换"`,
- `<strong>章节假设验证</strong>:H5 ✓ 五大竞品心智地图清晰 / H2 ✓ 海王金樽警示成立`,
- ], { title: '落地决策 · MOAT 组合战术', accent: BRAND.ROSE, columns: 2 })}
- </div>
- </section>`;
- }
- module.exports = {
- 'competitor-1': renderSub6_1,
- 'competitor-2': renderSub6_2,
- 'competitor-3': renderSub6_3,
- };
|