// ============================================================================== // VOC 验证报告 · Ch6 竞品认知 · 6 竞品子章(快照模式) // 详见 ch2-package.js 头部说明。 // ============================================================================== const fs = require('fs'); const path = require('path'); let _snapshot = null; function getSnapshot() { if (!_snapshot) { _snapshot = JSON.parse(fs.readFileSync( path.join(__dirname, '..', '_slides-snapshot.json'), 'utf8', )); } return _snapshot; } function fromSnapshot(id, slideNum) { const sec = getSnapshot()[id]; if (!sec) { return `

[Missing] ${id}

`; } return sec.html.replace(/data-slide-num="[^"]+"/, `data-slide-num="${slideNum}"`); } function renderCompetitor1Huganpian({ slideNum } = {}) { return fromSnapshot('competitor-1', slideNum); } function renderCompetitor2Yishanfu({ slideNum } = {}) { return fromSnapshot('competitor-2', slideNum); } function renderCompetitor3Pianzaihuang({ slideNum } = {}) { return fromSnapshot('competitor-3', slideNum); } function renderCompetitor4Xiongdanfen({ slideNum } = {}) { return fromSnapshot('competitor-4', slideNum); } function renderCompetitor5Swisse({ slideNum } = {}) { return fromSnapshot('competitor-5', slideNum); } function renderCompetitor6Haiwang({ slideNum } = {}) { return fromSnapshot('competitor-6', slideNum); } module.exports = { renderCompetitor1Huganpian, renderCompetitor2Yishanfu, renderCompetitor3Pianzaihuang, renderCompetitor4Xiongdanfen, renderCompetitor5Swisse, renderCompetitor6Haiwang, };