Files
vela/slides/scene-05.js
秋芝2046 818798a2e4 feat: add Vela scenarios PPT based on reference docs
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>
2026-04-14 19:01:15 +08:00

148 lines
5.1 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 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 };