Rename to hkt.sh
This commit is contained in:
55
pushTemplate.js
Normal file
55
pushTemplate.js
Normal file
@@ -0,0 +1,55 @@
|
||||
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 };
|
||||
Reference in New Issue
Block a user