14-slide PPT showcasing real operational scenarios derived from 新雨池 franchisee management manuals (售后指导流程手册 + 美容师服务流程): Scenarios covered: - 第一幕: 新加盟商入驻自动化 (7-step auto onboarding) - 场景二: 培训进度智能监控 + 预警触发 - 第二幕: 微信皮肤照片 → AI 分析 → 话术建议 - 场景四: 第一天接待话术库实时提示 - 第三幕: 多智能体内容工厂全流程 - 第四幕: 系统主动预警阶段卡顿 Assets: - 5 new MiniMax images (franchise-welcome, skin-ai, content-studio, training-digital, smart-alert) - 14 scene slide modules (scene-01~14.js) - compile-scenes.js build script - output: vela-scenarios.pptx Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
148 lines
5.1 KiB
JavaScript
148 lines
5.1 KiB
JavaScript
// scene-05.js — Training Monitoring
|
||
const pptxgen = require("pptxgenjs");
|
||
const slideConfig = { type: 'content', index: 5 };
|
||
|
||
function createSlide(pres, theme) {
|
||
const slide = pres.addSlide();
|
||
|
||
slide.background = { color: "F8F8F8" };
|
||
|
||
// Section label "场景二" gold pill
|
||
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
|
||
x: 0.6, y: 0.28, w: 1.1, h: 0.32,
|
||
fill: { color: theme.accent },
|
||
line: { color: theme.accent },
|
||
rectRadius: 0.5
|
||
});
|
||
slide.addText("场景二", {
|
||
x: 0.6, y: 0.28, w: 1.1, h: 0.32,
|
||
fontSize: 11, bold: true, color: theme.primary,
|
||
fontFace: "Microsoft YaHei", align: "center", valign: "middle"
|
||
});
|
||
|
||
// Title
|
||
slide.addText("培训进度智能监控:30天不落一人", {
|
||
x: 0.6, y: 0.73, w: 8.8, h: 0.5,
|
||
fontSize: 22, bold: true, color: theme.primary,
|
||
fontFace: "Microsoft YaHei", align: "left", valign: "middle"
|
||
});
|
||
|
||
// Gold line
|
||
slide.addShape(pres.shapes.RECTANGLE, {
|
||
x: 0.6, y: 1.28, w: 8.8, h: 0.04,
|
||
fill: { color: theme.accent },
|
||
line: { color: theme.accent }
|
||
});
|
||
|
||
// Main scenario panel — dark card
|
||
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
|
||
x: 0.5, y: 1.42, w: 9, h: 0.85,
|
||
fill: { color: "1a1a2e" },
|
||
line: { color: "0070F3", pt: 1.5 },
|
||
rectRadius: 0.15
|
||
});
|
||
slide.addText("系统检测到:广东汕头赵总 · 入驻第 21 天 · 一期课程完成率仅 38% · 考核尚未提交", {
|
||
x: 0.65, y: 1.52, w: 8.7, h: 0.6,
|
||
fontSize: 13, color: "FFFFFF",
|
||
fontFace: "Microsoft YaHei", align: "center", valign: "middle"
|
||
});
|
||
|
||
// ── Card A: 立即提醒 ──────────────────────────────────
|
||
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
|
||
x: 0.5, y: 2.45, w: 2.85, h: 2.6,
|
||
fill: { color: "0a0a0a" },
|
||
line: { color: "D4AF37", pt: 1.5 },
|
||
rectRadius: 0.15
|
||
});
|
||
slide.addShape(pres.shapes.OVAL, {
|
||
x: 1.5, y: 2.65, w: 0.5, h: 0.5,
|
||
fill: { color: "D4AF37" },
|
||
line: { color: "D4AF37" }
|
||
});
|
||
slide.addText("!", {
|
||
x: 1.5, y: 2.65, w: 0.5, h: 0.5,
|
||
fontSize: 18, bold: true, color: "FFFFFF",
|
||
fontFace: "Arial", align: "center", valign: "middle"
|
||
});
|
||
slide.addText("立即提醒", {
|
||
x: 0.55, y: 3.3, w: 2.75, h: 0.38,
|
||
fontSize: 15, bold: true, color: "FFFFFF",
|
||
fontFace: "Microsoft YaHei", align: "center", valign: "middle"
|
||
});
|
||
slide.addText("微信发送个性化提醒", {
|
||
x: 0.65, y: 3.78, w: 2.65, h: 0.3,
|
||
fontSize: 10, color: "FFFFFF",
|
||
fontFace: "Microsoft YaHei", align: "left", valign: "middle"
|
||
});
|
||
slide.addText("附带课程直达链接", {
|
||
x: 0.65, y: 4.13, w: 2.65, h: 0.3,
|
||
fontSize: 10, color: "FFFFFF",
|
||
fontFace: "Microsoft YaHei", align: "left", valign: "middle"
|
||
});
|
||
slide.addText("预约复训时间", {
|
||
x: 0.65, y: 4.48, w: 2.65, h: 0.3,
|
||
fontSize: 10, color: "FFFFFF",
|
||
fontFace: "Microsoft YaHei", align: "left", valign: "middle"
|
||
});
|
||
|
||
// ── Card B: 生成跟进话术 ──────────────────────────────
|
||
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
|
||
x: 3.55, y: 2.45, w: 2.85, h: 2.6,
|
||
fill: { color: "0070F3" },
|
||
line: { color: "0070F3", pt: 1.5 },
|
||
rectRadius: 0.15
|
||
});
|
||
slide.addText("生成跟进话术", {
|
||
x: 3.6, y: 3.3, w: 2.75, h: 0.38,
|
||
fontSize: 15, bold: true, color: "FFFFFF",
|
||
fontFace: "Microsoft YaHei", align: "center", valign: "middle"
|
||
});
|
||
slide.addText("为品牌部老师生成本次电话沟通要点,含3个关键话题与预期阻力应对", {
|
||
x: 3.65, y: 3.82, w: 2.65, h: 1.0,
|
||
fontSize: 10, color: "FFFFFF",
|
||
fontFace: "Microsoft YaHei", align: "left", valign: "top"
|
||
});
|
||
|
||
// ── Card C: 推演下一步 ────────────────────────────────
|
||
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
|
||
x: 6.6, y: 2.45, w: 2.85, h: 2.6,
|
||
fill: { color: "1a1a1a" },
|
||
line: { color: "D4AF37", pt: 1.5 },
|
||
rectRadius: 0.15
|
||
});
|
||
slide.addText("推演下一步", {
|
||
x: 6.65, y: 3.3, w: 2.75, h: 0.38,
|
||
fontSize: 15, bold: true, color: "D4AF37",
|
||
fontFace: "Microsoft YaHei", align: "center", valign: "middle"
|
||
});
|
||
slide.addText("预测若当前进度维持,第30天考核通过率为12%,建议线下帮扶方案", {
|
||
x: 6.7, y: 3.82, w: 2.65, h: 1.0,
|
||
fontSize: 10, color: "FFFFFF",
|
||
fontFace: "Microsoft YaHei", align: "left", valign: "top"
|
||
});
|
||
|
||
// Page badge — gold
|
||
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
|
||
x: 9.3, y: 5.1, w: 0.4, h: 0.4,
|
||
fill: { color: theme.accent },
|
||
line: { color: theme.accent },
|
||
rectRadius: 0.2
|
||
});
|
||
slide.addText("5", {
|
||
x: 9.3, y: 5.1, w: 0.4, h: 0.4,
|
||
fontSize: 11, bold: true, color: "FFFFFF",
|
||
fontFace: "Arial", align: "center", valign: "middle"
|
||
});
|
||
|
||
return slide;
|
||
}
|
||
|
||
if (require.main === module) {
|
||
const pres = new pptxgen();
|
||
pres.layout = 'LAYOUT_16x9';
|
||
const theme = { primary: "0a0a0a", secondary: "0070F3", accent: "D4AF37", light: "f5f5f5", bg: "ffffff" };
|
||
createSlide(pres, theme);
|
||
pres.writeFile({ fileName: "scene-05-preview.pptx" });
|
||
}
|
||
module.exports = { createSlide, slideConfig };
|