/** 首页侧栏图片广告展示尺寸(与 .j13-ad-promo 宽一致:248 = 两列文字 + 中间 6px 间距) */ export const AD_IMAGE_WIDTH = 248; export const AD_IMAGE_HEIGHT = 60; /** 单列文字槽宽度:(248 - 6) / 2 */ export const AD_TEXT_COL_WIDTH = 121; /** 购买页建议文案 */ export const AD_IMAGE_SIZE_LABEL = `${AD_IMAGE_WIDTH}×${AD_IMAGE_HEIGHT}`; export const AD_IMAGE_SIZE_LABEL_2X = `${AD_IMAGE_WIDTH * 2}×${AD_IMAGE_HEIGHT * 2}`; /** 广告悬停提示第二行:统一免责声明 */ export const AD_TIP_DISCLAIMER = "斟酌选择,本站不做担保。"; /** 广告悬停提示延迟弹出时长(毫秒):停留一会再显示 */ export const AD_TIP_DELAY_MS = 600; /** 到期时间展示格式:2026-10-01 23:59 */ export function formatAdEndsAt(value: string): string { const d = new Date(value); if (Number.isNaN(d.getTime())) return ""; const p = (n: number) => String(n).padStart(2, "0"); return `${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())} ${p(d.getHours())}:${p(d.getMinutes())}`; } /** 广告悬停提示:首行到期时间(可选),第二行免责声明(\n 由气泡 pre-line 换行) */ export function adHoverTip(endsAt?: string | null): string { const t = endsAt ? formatAdEndsAt(endsAt) : ""; return t ? `到期时间:${t}\n${AD_TIP_DISCLAIMER}` : AD_TIP_DISCLAIMER; }