// lvpai-convert.jsx — V1.1 四个付费引导场景
// S1 拍完/绑卡后（园内） · S2 取片点现场收款 · S3 当晚推送 · S4 一周后长尾推送
const { LV_T: VT, Icon: VIcon, Photo: VPhoto, Card: VCard, Price: VPrice,
  WeChatNav: VNav, Screen: VScreen, Eyebrow: VEye } = window;

const VGOLD = () => window.LV_GOLD || { grad: '#D6AC54', text: '#4A3209', deep: '#8A6420', hi: '#E8C87A', tint: 'rgba(232,200,122,0.11)', line: 'rgba(204,156,64,0.3)', solid: '#CC9C40' };

// ── 倒计时 ────────────────────────────────────────────────────────
function useCountdown(hours) {
  const [left, setLeft] = React.useState(hours * 3600);
  React.useEffect(() => {
    const t = setInterval(() => setLeft((v) => Math.max(0, v - 1)), 1000);
    return () => clearInterval(t);
  }, []);
  const p = (n) => String(n).padStart(2, '0');
  return { h: p(Math.floor(left / 3600)), m: p(Math.floor(left % 3600 / 60)), s: p(left % 60) };
}

function CountdownRow({ hours, label }) {
  const T = VT;const G = VGOLD();
  const { h, m, s } = useCountdown(hours);
  const cell = { fontFamily: T.sans, fontSize: 16, fontWeight: 700, color: '#fff', background: T.ink, borderRadius: 4, padding: '5px 7px', minWidth: 30, textAlign: 'center', fontVariantNumeric: 'tabular-nums' };
  return (
    <div style={{ display: 'flex', alignItems: 'center', gap: 10, padding: '12px 14px', borderRadius: 8, background: G.tint, boxShadow: 'inset 0 0 0 1px ' + G.line }}>
      <div style={{ flex: 1, minWidth: 0, fontFamily: T.sans, fontSize: 12.5, fontWeight: 600, color: G.deep, lineHeight: 1.5 }}>{label}</div>
      <div style={{ display: 'flex', alignItems: 'center', gap: 4, flexShrink: 0 }}>
        <span style={cell}>{h}</span><span style={{ color: T.faint, fontWeight: 700 }}>:</span>
        <span style={cell}>{m}</span><span style={{ color: T.faint, fontWeight: 700 }}>:</span>
        <span style={cell}>{s}</span>
      </div>
    </div>);
}

// ── 微信服务通知卡片（场景 3 / 4）─────────────────────────────────
// 从屏幕顶部落下，点击进入专属落地页
function ServicePush({ scene, onOpen, onClose }) {
  const T = VT;
  if (!scene || !scene.push) return null;
  const p = scene.push;
  return (
    <div style={{ position: 'absolute', top: 58, left: 10, right: 10, zIndex: 400, animation: 'lvPushDrop .42s cubic-bezier(.2,.9,.2,1)' }}>
      <div onClick={onOpen} style={{ cursor: 'pointer', background: 'rgba(252,251,248,0.92)', backdropFilter: 'blur(18px)', WebkitBackdropFilter: 'blur(18px)',
        borderRadius: 8, padding: '12px 13px', boxShadow: '0 12px 34px rgba(20,22,20,0.24), inset 0 0 0 0.5px rgba(26,25,22,0.10)' }}>
        <div style={{ display: 'flex', alignItems: 'center', gap: 9 }}>
          <div style={{ width: 20, height: 20, borderRadius: 4, background: '#07C160', display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}>
            <VIcon name="chat" size={13} color="#fff" stroke={2} />
          </div>
          <span style={{ fontFamily: T.sans, fontSize: 12.5, fontWeight: 600, color: T.inkSoft }}>服务通知</span>
          <span style={{ fontFamily: T.sans, fontSize: 11.5, color: T.faint, marginLeft: 'auto' }}>{p.time}</span>
          <button onClick={(e) => {e.stopPropagation();onClose();}} style={{ background: 'none', border: 'none', padding: 0, marginLeft: 2, cursor: 'pointer', display: 'flex' }}>
            <VIcon name="close" size={15} color={T.faint} stroke={2} />
          </button>
        </div>
        <div style={{ fontFamily: T.sans, fontSize: 11, fontWeight: 700, letterSpacing: 0.8, color: T.faint, margin: '10px 0 0' }}>{p.title}</div>
        <div style={{ fontFamily: T.sans, fontSize: 14.5, fontWeight: 700, color: T.ink, lineHeight: 1.45, marginTop: 5 }}>{p.line1}</div>
        <div style={{ fontFamily: T.sans, fontSize: 12.5, color: T.muted, lineHeight: 1.5, marginTop: 5 }}>{p.line2}</div>
      </div>
    </div>);
}

// ── 场景卡片：首页顶部随场景变形 ──────────────────────────────────
function SceneHomeCard({ scene, nav, onBuy }) {
  const T = VT;const G = VGOLD();
  if (!scene) return null;
  const dark = scene.key === 's3' || scene.key === 's4';
  const go = () => {
    if (scene.key === 's2') nav.push('onsite');
    else if (dark) nav.push('landing', { sceneKey: scene.key });
    else nav.push('product', { cat: 'chuangyi', focusPos: 2 });
  };
  return (
    <div onClick={go} style={{ position: 'relative', borderRadius: 8, overflow: 'hidden', cursor: 'pointer', background: T.ink, boxShadow: '0 8px 24px rgba(26,25,22,0.16)' }}>
      <div style={{ position: 'absolute', inset: 0, opacity: dark ? 0.34 : 0.42 }}><VPhoto src="assets/p2.jpg" ratio="auto" style={{ height: '100%' }} /></div>
      <div style={{ position: 'absolute', inset: 0, background: 'linear-gradient(115deg, rgba(20,22,20,0.9), rgba(20,22,20,0.55))' }} />
      <div style={{ position: 'relative', padding: '17px 17px 16px' }}>
        <div style={{ display: 'flex', alignItems: 'center', gap: 7 }}>
          <span style={{ fontFamily: T.sans, fontSize: 10.5, fontWeight: 700, letterSpacing: 0.6, color: G.text, background: G.grad, padding: '3px 8px', borderRadius: 3 }}>{scene.label}</span>
          <span style={{ fontFamily: T.sans, fontSize: 11, color: 'rgba(255,255,255,0.55)' }}>{scene.where}</span>
        </div>
        <div style={{ fontFamily: T.sans, fontSize: 19, fontWeight: 700, color: '#fff', lineHeight: 1.38, marginTop: 12 }}>{scene.headline}</div>
        <div style={{ fontFamily: T.sans, fontSize: 12.5, color: 'rgba(255,255,255,0.68)', marginTop: 7, lineHeight: 1.55 }}>{scene.sub}</div>
        <div style={{ display: 'flex', alignItems: 'center', gap: 6, marginTop: 15 }}>
          <span style={{ fontFamily: T.sans, fontSize: 14.5, fontWeight: 700, color: G.hi }}>{scene.cta}</span>
          <VIcon name="chevR" size={17} color={G.hi} stroke={2.1} />
        </div>
      </div>
    </div>);
}

// ── 场景 3 / 4：推送落地页 ────────────────────────────────────────
function ConvertLandingScreen({ nav, store, sceneKey }) {
  const T = VT;const G = VGOLD();
  const scene = window.LV_DATA.CONVERT_SCENES[sceneKey] || window.LV_DATA.CONVERT_SCENES.s3;
  const P = window.LV_DATA.PRICING;
  const themes = window.LV_DATA.THEMES;
  const night = sceneKey === 's3';
  const theme = night ? themes[0] : themes[3];
  const [buy, setBuy] = React.useState(false);
  const [pay, setPay] = React.useState(null);
  const shots = night ?
    ['assets/p1.jpg', 'assets/p6.jpg', 'assets/p4.jpg', 'assets/p2.jpg'] :
    ['assets/p3.jpg', 'assets/p7.jpg', 'assets/p10.jpg', 'assets/p5.jpg'];

  const onPaid = (item) => {
    const id = store.addOrder({ cat: '套餐', name: '创意摄影套餐 · ' + item.sets + ' 套', tone: theme.tone, amount: item.amount,
      state: '待确认', need: true, group: 'going', statusSub: '请选择主题并确认人像，我们将在 24–48h 内交付' });
    store.set({ stage: 'bought' });
    setPay({ name: item.name, sub: item.sub, amount: item.amount, tone: theme.tone });
  };

  return (
    <>
    <VScreen
      bg={T.ink}
      nav={null}
      body={<div style={{ paddingBottom: 34 }}>
        {/* 大图头 */}
        <div style={{ position: 'relative' }}>
          <VPhoto src={theme.src} ratio="4 / 5" radius={0} />
          <div style={{ position: 'absolute', inset: 0, background: 'linear-gradient(to top, ' + T.ink + ' 4%, rgba(20,22,20,0.35) 46%, rgba(20,22,20,0.55))' }} />
          {/* 返回 + 微信胶囊 */}
          <div style={{ position: 'absolute', top: 58, left: 14, right: 14, display: 'flex', alignItems: 'center', height: 44 }}>
            <button onClick={() => nav.pop()} style={{ background: 'none', border: 'none', padding: 0, marginLeft: -4, cursor: 'pointer', display: 'flex' }}>
              <VIcon name="chevL" size={26} color="#fff" stroke={1.9} />
            </button>
            <div style={{ marginLeft: 'auto' }}><window.WeChatCapsule /></div>
          </div>
          <div style={{ position: 'absolute', left: 20, right: 20, bottom: 22 }}>
            <span style={{ fontFamily: T.sans, fontSize: 10.5, fontWeight: 700, letterSpacing: 0.6, color: G.text, background: G.grad, padding: '4px 9px', borderRadius: 3 }}>
              {night ? '今日作品已整理' : '新主题上线'}
            </span>
            <div style={{ fontFamily: T.sans, fontSize: 25, fontWeight: 700, color: '#fff', lineHeight: 1.35, marginTop: 13, textWrap: 'pretty' }}>{scene.headline}</div>
            <div style={{ fontFamily: T.sans, fontSize: 13.5, color: 'rgba(255,255,255,0.72)', lineHeight: 1.6, marginTop: 9 }}>{scene.sub}</div>
          </div>
        </div>

        <div style={{ padding: '4px 20px 0' }}>
          {/* 你的素材 */}
          <div style={{ fontFamily: T.sans, fontSize: 12, fontWeight: 600, color: 'rgba(255,255,255,0.5)', margin: '18px 0 10px' }}>
            {night ? '今天在蓝月谷拍到的你' : '可用于新主题的底片'}
          </div>
          <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4,1fr)', gap: 7 }}>
            {shots.map((src, i) =>
            <VPhoto key={i} src={src} ratio="1 / 1" radius={5} />)}
          </div>

          {/* 倒计时 */}
          <div style={{ marginTop: 20 }}>
            <CountdownRow hours={night ? 2 : 48} label={scene.deadline} />
          </div>

          {/* 主推档 */}
          <div style={{ marginTop: 16, background: 'rgba(255,255,255,0.07)', borderRadius: 8, padding: '18px 17px 17px', boxShadow: 'inset 0 0 0 1px rgba(255,255,255,0.12)' }}>
            <div style={{ display: 'flex', alignItems: 'flex-start', justifyContent: 'space-between', gap: 12 }}>
              <div style={{ flex: 1, minWidth: 0 }}>
                <div style={{ fontFamily: T.sans, fontSize: 17, fontWeight: 700, color: '#fff' }}>{P.sets[0].name}</div>
                <div style={{ fontFamily: T.sans, fontSize: 12.5, color: 'rgba(255,255,255,0.62)', marginTop: 6, lineHeight: 1.55 }}>
                  6 张精选成片 · 并赠送本次拍摄的全部高清底片
                </div>
              </div>
              <VPrice value={P.sets[0].price} size={27} color="#fff" style={{ flexShrink: 0 }} />
            </div>
            <button onClick={() => setBuy(true)} style={{ width: '100%', marginTop: 16, fontFamily: T.sans, fontSize: 16, fontWeight: 700, letterSpacing: 0.3,
              color: G.text, background: G.grad, border: 'none', borderRadius: 8, padding: '15px 0', cursor: 'pointer',
              boxShadow: '0 8px 22px rgba(204,156,64,0.36), inset 0 1px 0 rgba(255,255,255,0.5)' }}>{scene.cta}</button>
            <button onClick={() => setBuy(true)} style={{ width: '100%', marginTop: 4, fontFamily: T.sans, fontSize: 12.5, color: 'rgba(255,255,255,0.55)', background: 'none', border: 'none', padding: '11px 0 2px', cursor: 'pointer' }}>
              查看 2 套 ¥139 / 3 套 ¥189
            </button>
          </div>

          <div style={{ fontFamily: T.sans, fontSize: 11.5, color: 'rgba(255,255,255,0.4)', lineHeight: 1.7, marginTop: 18 }}>
            {scene.note}
          </div>
        </div>
      </div>} />
    {window.ChuangyiBuySheet && <window.ChuangyiBuySheet open={buy} onClose={() => setBuy(false)} store={store} onPaid={onPaid} />}
    {window.PaymentSheet && <window.PaymentSheet open={!!pay} item={pay} onClose={() => setPay(null)} onPaid={() => {setPay(null);nav.reset('orders');}} />}
    </>);
}

// ── 场景 2：取片点现场（大屏预览 → 出示付款码 → 工作人员开单 → 小程序查收）──
const ONSITE_STEPS = ['核销免费照', '出示付款码', '查收照片'];

function OnsiteStepBar({ cur }) {
  const T = VT;
  return (
    <div style={{ display: 'flex', alignItems: 'center', gap: 8, padding: '0 2px 20px' }}>
      {ONSITE_STEPS.map((l, i) =>
      <React.Fragment key={l}>
        <div style={{ display: 'flex', alignItems: 'center', gap: 6 }}>
          <div style={{ width: 20, height: 20, borderRadius: 999, flexShrink: 0, display: 'flex', alignItems: 'center', justifyContent: 'center',
            background: i <= cur ? T.ink : T.card, boxShadow: i <= cur ? 'none' : 'inset 0 0 0 1.5px ' + T.line,
            fontFamily: T.sans, fontSize: 11, fontWeight: 700, color: i <= cur ? '#fff' : T.faint }}>{i + 1}</div>
          <span style={{ fontFamily: T.sans, fontSize: 12, fontWeight: i === cur ? 700 : 500, color: i <= cur ? T.ink : T.faint, whiteSpace: 'nowrap' }}>{l}</span>
        </div>
        {i < ONSITE_STEPS.length - 1 && <div style={{ flex: 1, height: 1, background: T.line }} />}
      </React.Fragment>)}
    </div>);
}

function OnsitePickupScreen({ nav, store }) {
  const T = VT;const G = VGOLD();
  const P = window.LV_DATA.PRICING;
  const [step, setStep] = React.useState(0);
  const [sel, setSel] = React.useState(1);
  const [waiting, setWaiting] = React.useState(false);
  const tier = P.sets.find((t) => t.sets === sel) || P.sets[0];

  // 工作人员开单 → 小程序收到已付款订单
  const staffOpened = () => {
    setWaiting(true);
    setTimeout(() => {
      store.addOrder({ cat: '套餐', name: '创意摄影套餐 · ' + tier.sets + ' 套', tone: 'lake', amount: tier.price,
        state: '待确认', need: true, pay: '现场收款 · 微信', created: '刚刚',
        statusSub: '取片点已为你开通，请选择主题并确认人像' });
      store.set({ stage: 'bought' });
      setWaiting(false);
      setStep(2);
    }, 1900);
  };

  const body = step === 0 ?
  <>
    <VCard pad={0} style={{ overflow: 'hidden' }}>
      <div style={{ position: 'relative' }}>
        <VPhoto src="assets/p1.jpg" ratio="16 / 10" radius={0} />
        <div style={{ position: 'absolute', inset: 0, background: 'linear-gradient(to top, rgba(20,22,20,0.72), transparent 58%)' }} />
        <div style={{ position: 'absolute', left: 15, right: 15, bottom: 13 }}>
          <div style={{ fontFamily: T.sans, fontSize: 11, fontWeight: 700, letterSpacing: 1, color: 'rgba(255,255,255,0.72)' }}>取片点大屏</div>
          <div style={{ fontFamily: T.sans, fontSize: 17, fontWeight: 700, color: '#fff', marginTop: 5 }}>你今天的 14 张底片已调出</div>
        </div>
      </div>
      <div style={{ padding: '16px 16px 18px' }}>
        <div style={{ fontFamily: T.sans, fontSize: 13, color: T.inkSoft, lineHeight: 1.65 }}>把这个核销码出示给工作人员，即可领取<b style={{ color: T.ink }}>免费 2 寸纪念照</b>，并在大屏上看到全部成片效果。</div>
        <div style={{ marginTop: 15, padding: '16px 0', borderRadius: 8, background: T.field, boxShadow: 'inset 0 0 0 1px ' + T.line, textAlign: 'center' }}>
          <div style={{ fontFamily: T.sans, fontSize: 11.5, color: T.muted, letterSpacing: 0.5 }}>核销码</div>
          <div style={{ fontFamily: T.sans, fontSize: 34, fontWeight: 700, color: T.ink, letterSpacing: 6, marginTop: 6, fontVariantNumeric: 'tabular-nums' }}>6578</div>
        </div>
      </div>
    </VCard>
    <button onClick={() => setStep(1)} style={{ width: '100%', marginTop: 16, fontFamily: T.sans, fontSize: 16, fontWeight: 700, color: G.text, background: G.grad, border: 'none', borderRadius: 8, padding: '15px 0', cursor: 'pointer', boxShadow: '0 8px 22px rgba(204,156,64,0.36), inset 0 1px 0 rgba(255,255,255,0.5)' }}>
      看完大屏，我想带走作品
    </button>
    <div style={{ fontFamily: T.sans, fontSize: 11.5, color: T.muted, textAlign: 'center', marginTop: 12, lineHeight: 1.6 }}>免费纪念照无需付费，随时可领</div>
  </> :
  step === 1 ?
  <>
    {/* 选择档位 */}
    <div style={{ fontFamily: T.sans, fontSize: 13, color: T.inkSoft, lineHeight: 1.65, marginBottom: 14 }}>
      告诉工作人员你要的档位，然后<b style={{ color: T.ink }}>出示下面的付款码</b>由柜台扫码收款。
    </div>
    <div style={{ display: 'flex', gap: 8, marginBottom: 18 }}>
      {P.sets.map((t) => {
        const on = t.sets === sel;
        return (
          <button key={t.sets} onClick={() => setSel(t.sets)} style={{ flex: 1, border: 'none', cursor: 'pointer', textAlign: 'center', padding: '13px 0 12px', borderRadius: 8,
            background: on ? T.ink : T.card, boxShadow: on ? 'none' : 'inset 0 0 0 1px ' + T.line, transition: 'all .15s' }}>
            <div style={{ fontFamily: T.sans, fontSize: 12.5, fontWeight: 600, color: on ? 'rgba(255,255,255,0.7)' : T.muted }}>{t.sets} 套</div>
            <div style={{ fontFamily: T.sans, fontSize: 19, fontWeight: 700, color: on ? '#fff' : T.ink, marginTop: 4 }}>¥{t.price}</div>
          </button>);
      })}
    </div>
    {/* 付款码 */}
    <VCard pad={0} style={{ overflow: 'hidden' }}>
      <div style={{ display: 'flex' }}>
        {[['微信支付', '#07C160'], ['支付宝', '#1677FF']].map(([l, c], i) =>
        <div key={l} style={{ flex: 1, display: 'flex', alignItems: 'center', justifyContent: 'center', gap: 6, padding: '13px 0',
          background: i === 0 ? c : T.card, boxShadow: i === 0 ? 'none' : 'inset 0 0 0 1px ' + T.line }}>
          <span style={{ width: 14, height: 14, borderRadius: 3, background: i === 0 ? 'rgba(255,255,255,0.9)' : c, flexShrink: 0 }} />
          <span style={{ fontFamily: T.sans, fontSize: 13.5, fontWeight: 700, color: i === 0 ? '#fff' : T.muted }}>{l}</span>
        </div>)}
      </div>
      <div style={{ padding: '22px 20px 20px', textAlign: 'center' }}>
        {/* 条形码 */}
        <div style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'center', gap: 2, height: 54 }}>
          {Array.from({ length: 44 }).map((_, i) =>
          <span key={i} style={{ width: i % 7 === 0 ? 4 : i % 3 === 0 ? 3 : 1.6, height: '100%', background: T.ink, opacity: i % 5 === 0 ? 0.9 : 0.82 }} />)}
        </div>
        {/* 二维码占位 */}
        <div style={{ width: 138, height: 138, margin: '20px auto 0', display: 'grid', gridTemplateColumns: 'repeat(11,1fr)', gap: 2, padding: 8, borderRadius: 6, background: '#fff', boxShadow: 'inset 0 0 0 1px ' + T.line }}>
          {Array.from({ length: 121 }).map((_, i) =>
          <span key={i} style={{ background: (i * 7 % 11 + i % 5) % 3 === 0 ? T.ink : 'transparent', borderRadius: 1 }} />)}
        </div>
        <div style={{ fontFamily: T.sans, fontSize: 12.5, color: T.muted, marginTop: 16, lineHeight: 1.6 }}>
          请工作人员扫码收款 <b style={{ color: T.ink }}>¥{tier.price}</b><br />付款后柜台会为你开通订单
        </div>
      </div>
    </VCard>
    <button onClick={staffOpened} disabled={waiting} style={{ width: '100%', marginTop: 16, fontFamily: T.sans, fontSize: 15, fontWeight: 600, color: waiting ? T.faint : T.ink,
      background: T.card, border: 'none', borderRadius: 8, padding: '14px 0', cursor: waiting ? 'default' : 'pointer', boxShadow: 'inset 0 0 0 1.5px ' + (waiting ? T.line : T.ink) }}>
      {waiting ? '柜台正在开单…' : '（演示）柜台已收款并开单'}
    </button>
  </> :
  <>
    {/* 查收照片 */}
    <div style={{ textAlign: 'center', padding: '6px 0 22px' }}>
      <div style={{ width: 56, height: 56, borderRadius: 999, background: '#2F6F63', margin: '0 auto 16px', display: 'flex', alignItems: 'center', justifyContent: 'center', animation: 'lvPop .35s cubic-bezier(.2,1.4,.4,1)' }}>
        <VIcon name="check" size={30} color="#fff" stroke={2.4} />
      </div>
      <div style={{ fontFamily: T.sans, fontSize: 20, fontWeight: 700, color: T.ink }}>取片点已为你开通</div>
      <div style={{ fontFamily: T.sans, fontSize: 13, color: T.muted, marginTop: 9, lineHeight: 1.6 }}>
        {tier.sets} 套创意摄影 · 已收款 ¥{tier.price}<br />本次拍摄的全部高清底片已解锁
      </div>
    </div>
    <VCard pad={16}>
      <div style={{ fontFamily: T.sans, fontSize: 14.5, fontWeight: 700, color: T.ink }}>还差一步：选择主题</div>
      <div style={{ fontFamily: T.sans, fontSize: 12.5, color: T.muted, marginTop: 6, lineHeight: 1.6 }}>选好主题并确认人像后，我们会在 24–48 小时内把成片交付到影集。</div>
      <button onClick={() => nav.reset('orders')} style={{ width: '100%', marginTop: 15, fontFamily: T.sans, fontSize: 15.5, fontWeight: 700, color: G.text, background: G.grad, border: 'none', borderRadius: 8, padding: '14px 0', cursor: 'pointer', boxShadow: '0 6px 18px rgba(204,156,64,0.36), inset 0 1px 0 rgba(255,255,255,0.5)' }}>
        去确认定制内容
      </button>
      <button onClick={() => nav.reset('works')} style={{ width: '100%', marginTop: 8, fontFamily: T.sans, fontSize: 14, fontWeight: 500, color: T.inkSoft, background: 'none', border: 'none', borderRadius: 8, padding: '12px 0', cursor: 'pointer', boxShadow: 'inset 0 0 0 1px ' + T.line }}>
        先去影集看底片
      </button>
    </VCard>
  </>;

  return (
    <VScreen
      nav={<VNav title="取片点" onBack={() => nav.pop()} />}
      body={<div style={{ padding: '10px 18px 34px' }}>
        <OnsiteStepBar cur={step} />
        {body}
        {step < 2 &&
        <div style={{ display: 'flex', gap: 7, marginTop: 20, fontFamily: T.sans, fontSize: 11.5, color: T.muted, lineHeight: 1.7 }}>
          <VIcon name="pin" size={13} color={T.faint} stroke={1.8} style={{ marginTop: 2, flexShrink: 0 }} />
          <span>现场付款由柜台收款后手动开通订单，订单与照片会自动同步到你的小程序。</span>
        </div>}
      </div>} />);
}

Object.assign(window, { ServicePush, SceneHomeCard, ConvertLandingScreen, OnsitePickupScreen, CountdownRow });
