function splitTags(tags) { if (!tags) return []; return String(tags) .split(/[,#,\s]+/) .map(s => s.trim()) .filter(Boolean); } function buildPushMessage(product) { const intro = product.push_intro || '🔥 商家产品精选推荐'; const merchant = product.merchant_name || '未知商家'; const lines = [intro]; // 配置信息 if (product.spec_summary || product.traffic || product.coupon_code) { const extras = []; if (product.spec_summary) extras.push(`💻 ${product.spec_summary}`); if (product.traffic) extras.push(`📊 流量 ${product.traffic}`); if (product.coupon_code) extras.push(`🎟 优惠码: \`${product.coupon_code}\``); lines.push(extras.join('|')); } lines.push(''); // 标题行 const titleBits = []; if (product.location) titleBits.push(product.location); titleBits.push(product.name); lines.push(titleBits.join('|')); // 价格 if (product.price) lines.push(`💰 ${product.price}`); if (product.annual_price) { const annualPrefix = product.billing_cycle ? `${product.billing_cycle}:` : '年付:'; lines.push(`${annualPrefix}${product.annual_price}`); } // aff 链接(优先用 generated_aff_url) const link = product.generated_aff_url || product.buy_url || product.url; if (link) lines.push(`✅ 购买: ${link}`); // 标签 const tags = splitTags(product.tags); if (tags.length) { lines.push(''); lines.push(tags.map(t => (t.startsWith('#') ? t : `#${t}`)).join(' ')); } lines.push(''); lines.push(`#${merchant.replace(/\s+/g, '')}`); return lines.filter((line, idx, arr) => !(line === '' && arr[idx - 1] === '')).join('\n').trim(); } module.exports = { buildPushMessage };