#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""方案A 补实验数据区：2×2（3 张实测图表 + 1 张结论卡），排在「核心数字」之后。
   结构：钩子/标题 → 结论 → 三个数字 → 【实测数据 2×2】 → 产品/货号 → 卖点 → 促销 → CTA → 落款
"""
import os
BASE = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
f = os.path.join(BASE, '脚本/gen_rtq_two_variants.py')
t = open(f, encoding='utf-8').read()
n = 0

# ① 载入 3 张实测图
t = t.replace(
    "P1, P2 = fit(os.path.join(IMG, 'p1_i1_x19.png')), fit(os.path.join(IMG, 'p1_i2_x20.png'))",
    "P1, P2 = fit(os.path.join(IMG, 'p1_i1_x19.png')), fit(os.path.join(IMG, 'p1_i2_x20.png'))\n"
    "D1 = fit(os.path.join(IMG, 'p1_i5_x24.png'), maxw=520, maxh=340)   # 标准曲线\n"
    "D2 = fit(os.path.join(IMG, 'p1_i7_x26.png'), maxw=520, maxh=340)   # 熔解曲线\n"
    "D3 = fit(os.path.join(IMG, 'p2_i2_x30.png'), maxw=520, maxh=340)   # 耐抑制性", 1)
n += 1

# ② 实测数据区构造器
t = t.replace(
    "def fill(tpl, vals):",
    '''def data_section():
    """实测数据：2×2 网格（3 图表 + 1 结论卡）—— 极简白卡 + 细边框，无阴影无底色"""
    cells = [
        (D1, '标准曲线 · 模板 1:10 系列稀释<br>扩增效率 100.795%，R² = 1.000'),
        (D2, '熔解曲线 · 单峰无杂峰<br>特异性良好'),
        (D3, '耐抑制性 · 5 种常见抑制剂梯度对比<br>Ct 偏移小于常规体系'),
    ]
    cards = ''.join('<div class="dcard"><img src="%s"><div class="dcap">%s</div></div>' % c
                    for c in cells)
    cards += ('<div class="dnote"><div class="dt">抑制剂覆盖</div><div class="dd">'
              '乙醇 · 异丙醇 · 苯酚 · 腐植酸 · SDS<br>宝锐 vs 供应商 A / B（匿名对照）</div></div>')
    return ('<div class="sec"><div class="sec-h"><i></i>实测数据</div>'
            '<div class="sec-n">内部测试 · 与常规体系同条件对比 · 模板 1:10 系列稀释</div>'
            '<div class="dgrid">%s</div></div>' % cards)


def fill(tpl, vals):''', 1)
n += 1

# ③ CSS_A 追加数据区样式
t = t.replace(
    ".feats-a{margin-top:26px}",
    ".sec{margin-top:34px;padding-top:22px;border-top:1px solid #E4E9F2}\n"
    ".sec-h{font-size:48px;font-weight:900;color:#0F2A5C;display:flex;align-items:center;gap:14px}\n"
    ".sec-h i{width:10px;height:34px;background:#1852B6;border-radius:3px;display:block}\n"
    ".sec-n{font-size:30px;color:#8A93A6;margin-top:6px}\n"
    ".dgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}\n"
    ".dcard{background:#fff;border:1px solid #E4E9F2;border-radius:16px;padding:14px 14px 16px}\n"
    ".dcard img{display:block;width:100%;height:auto;border-radius:10px}\n"
    ".dcap{font-size:30px;color:#5A6475;line-height:1.45;margin-top:10px}\n"
    ".dnote{background:#F7F9FC;border:1px solid #E4E9F2;border-radius:16px;padding:18px;display:flex;flex-direction:column;justify-content:center}\n"
    ".dnote .dt{font-size:48px;font-weight:900;color:#0F2A5C}\n"
    ".dnote .dd{font-size:30px;color:#5A6475;line-height:1.55;margin-top:8px}\n"
    ".feats-a{margin-top:26px}", 1)
n += 1

# ④ A 版模板：数字条之后插入数据区占位
t = t.replace(
    '<div class="badge">%s实测数据 · 内部验证</div>\n%s\n<div class="figrow">',
    '<div class="badge">%s实测数据 · 内部验证</div>\n%s\n%s\n<div class="figrow">', 1)
n += 1
t = t.replace(
    "        ICON['check'], stats(variant), P1, P2, feats(variant),",
    "        ICON['check'], stats(variant), (data_section() if variant == 'A' else ''), P1, P2, feats(variant),", 1)
n += 1

open(f, 'w', encoding='utf-8').write(t)
print('  ✅ 数据区补丁应用 %d 处' % n)
