Files
vela/slides/scene-04.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

173 lines
6.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-04.js — Onboarding Automation
const pptxgen = require("pptxgenjs");
const slideConfig = { type: 'content', index: 4 };
function createSlide(pres, theme) {
const slide = pres.addSlide();
slide.background = { color: theme.bg };
// 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("签约当天:系统自动完成 7 步入驻流程", {
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 accent 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 }
});
// ── Step 1 ──────────────────────────────────────────────
slide.addShape(pres.shapes.OVAL, {
x: 0.6, y: 1.45, w: 0.42, h: 0.42,
fill: { color: theme.secondary },
line: { color: theme.secondary }
});
slide.addText("1", {
x: 0.6, y: 1.45, w: 0.42, h: 0.42,
fontSize: 12, bold: true, color: "FFFFFF",
fontFace: "Arial", align: "center", valign: "middle"
});
slide.addText("企业微信群自动创建", {
x: 1.15, y: 1.45, w: 3.3, h: 0.38,
fontSize: 13, bold: true, color: theme.primary,
fontFace: "Microsoft YaHei", align: "left", valign: "middle"
});
slide.addText("群名按规范自动生成:新雨池+省市区+老板名+专营门店指导群", {
x: 1.15, y: 1.83, w: 3.3, h: 0.38,
fontSize: 10, color: "555555",
fontFace: "Microsoft YaHei", align: "left", valign: "top"
});
// Connector 1→2
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.80, y: 1.87, w: 0.02, h: 0.43,
fill: { color: "CCCCCC" },
line: { color: "CCCCCC" }
});
// ── Step 2 ──────────────────────────────────────────────
slide.addShape(pres.shapes.OVAL, {
x: 0.6, y: 2.35, w: 0.42, h: 0.42,
fill: { color: theme.accent },
line: { color: theme.accent }
});
slide.addText("2", {
x: 0.6, y: 2.35, w: 0.42, h: 0.42,
fontSize: 12, bold: true, color: "FFFFFF",
fontFace: "Arial", align: "center", valign: "middle"
});
slide.addText("标准欢迎话术自动发出", {
x: 1.15, y: 2.35, w: 3.3, h: 0.38,
fontSize: 13, bold: true, color: theme.primary,
fontFace: "Microsoft YaHei", align: "left", valign: "middle"
});
slide.addText("10条品牌介绍、订货系统注册引导、置顶群操作提示逐步推送", {
x: 1.15, y: 2.73, w: 3.3, h: 0.38,
fontSize: 10, color: "555555",
fontFace: "Microsoft YaHei", align: "left", valign: "top"
});
// Connector 2→3
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.80, y: 2.77, w: 0.02, h: 0.38,
fill: { color: "CCCCCC" },
line: { color: "CCCCCC" }
});
// ── Step 3 ──────────────────────────────────────────────
slide.addShape(pres.shapes.OVAL, {
x: 0.6, y: 3.2, w: 0.42, h: 0.42,
fill: { color: theme.secondary },
line: { color: theme.secondary }
});
slide.addText("3", {
x: 0.6, y: 3.2, w: 0.42, h: 0.42,
fontSize: 12, bold: true, color: "FFFFFF",
fontFace: "Arial", align: "center", valign: "middle"
});
slide.addText("6份培训资料按序发送", {
x: 1.15, y: 3.2, w: 3.3, h: 0.38,
fontSize: 13, bold: true, color: theme.primary,
fontFace: "Microsoft YaHei", align: "left", valign: "middle"
});
slide.addText("一期课程资料、皮肤专业知识、产品功能搭配、服务流程指引", {
x: 1.15, y: 3.58, w: 3.3, h: 0.38,
fontSize: 10, color: "555555",
fontFace: "Microsoft YaHei", align: "left", valign: "top"
});
// Connector 3→4
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.80, y: 3.62, w: 0.02, h: 0.38,
fill: { color: "CCCCCC" },
line: { color: "CCCCCC" }
});
// ── Step 4 ──────────────────────────────────────────────
slide.addShape(pres.shapes.OVAL, {
x: 0.6, y: 4.05, w: 0.42, h: 0.42,
fill: { color: "4CAF50" },
line: { color: "4CAF50" }
});
slide.addText("4", {
x: 0.6, y: 4.05, w: 0.42, h: 0.42,
fontSize: 12, bold: true, color: "FFFFFF",
fontFace: "Arial", align: "center", valign: "middle"
});
slide.addText("品牌老师收到入驻完成通知", {
x: 1.15, y: 4.05, w: 3.3, h: 0.38,
fontSize: 13, bold: true, color: theme.primary,
fontFace: "Microsoft YaHei", align: "left", valign: "middle"
});
slide.addText("无需手动跟进,系统完成后推送摘要到工作台", {
x: 1.15, y: 4.43, w: 3.3, h: 0.38,
fontSize: 10, color: "555555",
fontFace: "Microsoft YaHei", align: "left", valign: "top"
});
// Right image panel
slide.addImage({ path: "./imgs/franchise-welcome_001.jpg", x: 5.1, y: 1.4, w: 4.6, h: 3.8 });
// 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("4", {
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-04-preview.pptx" });
}
module.exports = { createSlide, slideConfig };