const fs = require('fs'); const path = require('path'); // SKU目录 const skuDir = path.join(__dirname, '../../产品/飞牛 NAS/fyd-亚克力机箱 - 单/sku'); // 读取所有SKU文件 const files = fs.readdirSync(skuDir).filter(f => f.endsWith('.md')); let updatedCount = 0; files.forEach(file => { const filePath = path.join(skuDir, file); let content = fs.readFileSync(filePath, 'utf-8'); const lines = content.split('\n'); // 计算总成本(只计算配件,不包括总成本和建议零售价) let totalCost = 0; let shouldCalculate = true; lines.forEach(line => { // 遇到总成本行时停止计算 if (line.includes('**总成本**')) { shouldCalculate = false; } if (shouldCalculate) { // 匹配价格行: | **字段** | 配件名称 | ¥价格 | const match = line.match(/\| \*\*[^*]+\*\* \| [^|]+ \| ¥(\d+) |/); if (match) { const price = parseInt(match[1]); if (!isNaN(price)) { totalCost += price; } } } }); const suggestedPrice = Math.round(totalCost * 1.3); // 更新总成本 content = content.replace(/\| \*\*总成本\*\* \| - \| ¥[^|]+ \|/, `| **总成本** | - | ¥${totalCost} |`); // 更新建议零售价 content = content.replace(/\| \*\*建议零售价\*\* \| - \| ¥[^|]+ \|/, `| **建议零售价** | - | ¥${suggestedPrice} |`); fs.writeFileSync(filePath, content, 'utf-8'); console.log(`Updated: ${file} - 总成本: ¥${totalCost}, 建议零售价: ¥${suggestedPrice}`); updatedCount++; }); console.log(`\n总计更新 ${updatedCount} 个文件`);