presentation改为优先从本地获取slug.md文件内容,没有再从后台获取

This commit is contained in:
jingrow 2025-09-03 14:53:39 +08:00
parent 06e9867d61
commit efd3a20459
4 changed files with 449 additions and 0 deletions

View File

@ -1,11 +1,21 @@
import { notFound } from 'next/navigation';
import { getPageData } from "@/utils/data";
import { getLocalPageData } from "@/data/presentation";
import Presentation from "@/components/presentation/Presentation";
export default async function PresentationPage({ params }) {
const resolvedParams = await params;
const slugArr = resolvedParams.slug;
// markdown
const localData = await getLocalPageData(slugArr);
if (localData.data) {
// 使
return <Presentation data={localData.data} />;
}
// API
const { data, error } = await getPageData({
slug_list: slugArr,
downloadFiles: true

View File

@ -1,3 +1,20 @@
/* Jingrow 图标定义 */
.jingrow-icon {
display: inline-block;
width: 1.5em;
height: 1.5em;
vertical-align: middle;
margin-right: 0.5em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0.00 0.00 128.00 128.00'%3E%3Cg stroke-width='2.00' fill='none' stroke-linecap='butt'%3E%3Cpath stroke='%238fe3b1' vector-effect='non-scaling-stroke' d='M 64.04 34.07 Q 64.93 34.07 65.55 34.69 Q 74.55 43.60 82.91 51.96 C 87.46 56.52 91.92 55.95 98.45 55.81 A 2.52 2.52 0.0 0 0 100.92 53.29 L 100.92 49.89 A 2.56 2.55 -1.5 0 0 98.23 47.34 C 95.84 47.46 91.15 47.62 89.22 45.67 Q 81.61 37.99 68.36 24.99 Q 66.43 23.09 64.04 23.09 Q 61.66 23.09 59.72 24.99 Q 46.47 37.98 38.85 45.66 C 36.92 47.61 32.23 47.45 29.84 47.32 A 2.56 2.55 1.5 0 0 27.15 49.87 L 27.15 53.27 A 2.52 2.52 0.0 0 0 29.62 55.79 C 36.15 55.94 40.61 56.51 45.16 51.95 Q 53.53 43.60 62.53 34.69 Q 63.15 34.07 64.04 34.07'%3E%3C/path%3E%3Cpath stroke='%238fe3b1' vector-effect='non-scaling-stroke' d='M 64.04 101.46 C 66.42 101.46 68.47 101.10 68.47 98.24 Q 68.49 75.28 68.49 72.56 A 0.61 0.61 0.0 0 1 69.10 71.95 L 89.64 71.95 A 2.50 2.50 0.0 0 0 92.14 69.45 L 92.14 65.73 A 2.28 2.28 0.0 0 0 89.86 63.45 L 69.10 63.45 A 0.61 0.61 0.0 0 1 68.49 62.84 L 68.49 50.37 A 3.05 3.03 2.1 0 0 65.67 47.34 Q 65.14 47.31 64.03 47.31 Q 62.93 47.31 62.40 47.34 A 3.05 3.03 -2.1 0 0 59.58 50.37 L 59.58 62.84 A 0.61 0.61 0.0 0 1 58.97 63.45 L 38.21 63.45 A 2.28 2.28 0.0 0 0 35.93 65.73 L 35.93 69.45 A 2.50 2.50 0.0 0 0 38.43 71.95 L 58.97 71.95 A 0.61 0.61 0.0 0 1 59.58 72.56 Q 59.58 75.28 59.60 98.24 C 59.60 101.10 61.65 101.46 64.04 101.46'%3E%3C/path%3E%3C/g%3E%3Cpath fill='%231fc76f' d='M 115.34 95.08 A 19.82 19.82 0.0 0 1 95.52 114.90 L 32.48 114.90 A 19.82 19.82 0.0 0 1 12.66 95.08 L 12.66 32.88 A 19.82 19.82 0.0 0 1 32.48 13.06 L 95.52 13.06 A 19.82 19.82 0.0 0 1 115.34 32.88 L 115.34 95.08 Z M 64.04 34.07 Q 64.93 34.07 65.55 34.69 Q 74.55 43.60 82.91 51.96 C 87.46 56.52 91.92 55.95 98.45 55.81 A 2.52 2.52 0.0 0 0 100.92 53.29 L 100.92 49.89 A 2.56 2.55 -1.5 0 0 98.23 47.34 C 95.84 47.46 91.15 47.62 89.22 45.67 Q 81.61 37.99 68.36 24.99 Q 66.43 23.09 64.04 23.09 Q 61.66 23.09 59.72 24.99 Q 46.47 37.98 38.85 45.66 C 36.92 47.61 32.23 47.45 29.84 47.32 A 2.56 2.55 1.5 0 0 27.15 49.87 L 27.15 53.27 A 2.52 2.52 0.0 0 0 29.62 55.79 C 36.15 55.94 40.61 56.51 45.16 51.95 Q 53.53 43.60 62.53 34.69 Q 63.15 34.07 64.04 34.07 Z M 64.04 101.46 C 66.42 101.46 68.47 101.10 68.47 98.24 Q 68.49 75.28 68.49 72.56 A 0.61 0.61 0.0 0 1 69.10 71.95 L 89.64 71.95 A 2.50 2.50 0.0 0 0 92.14 69.45 L 92.14 65.73 A 2.28 2.28 0.0 0 0 89.86 63.45 L 69.10 63.45 A 0.61 0.61 0.0 0 1 68.49 62.84 L 68.49 50.37 A 3.05 3.03 2.1 0 0 65.67 47.34 Q 65.14 47.31 64.03 47.31 Q 62.93 47.31 62.40 47.34 A 3.05 3.03 -2.1 0 0 59.58 50.37 L 59.58 62.84 A 0.61 0.61 0.0 0 1 58.97 63.45 L 38.21 63.45 A 2.28 2.28 0.0 0 0 35.93 65.73 L 35.93 69.45 A 2.50 2.50 0.0 0 0 38.43 71.95 L 58.97 71.95 A 0.61 0.61 0.0 0 1 59.58 72.56 Q 59.58 75.28 59.60 98.24 C 59.60 101.10 61.65 101.46 64.04 101.46 Z'%3E%3C/path%3E%3Cpath fill='%23fffef2' d='M 64.04 23.09 Q 66.43 23.09 68.36 24.99 Q 81.61 37.99 89.22 45.67 C 91.15 47.62 95.84 47.46 98.23 47.34 A 2.56 2.55 -1.5 0 1 100.92 49.89 L 100.92 53.29 A 2.52 2.52 0.0 0 1 98.45 55.81 C 91.92 55.95 87.46 56.52 82.91 51.96 Q 74.55 43.60 65.55 34.69 Q 64.93 34.07 64.04 34.07 Q 63.15 34.07 62.53 34.69 Q 53.53 43.60 45.16 51.95 C 40.61 56.51 36.15 55.94 29.62 55.79 A 2.52 2.52 0.0 0 1 27.15 53.27 L 27.15 49.87 A 2.56 2.55 1.5 0 1 29.84 47.32 C 32.23 47.45 36.92 47.61 38.85 45.66 Q 46.47 37.98 59.72 24.99 Q 61.66 23.09 64.04 23.09 Z'%3E%3C/path%3E%3Cpath fill='%23fffef2' d='M 64.03 47.31 Q 65.14 47.31 65.67 47.34 A 3.05 3.03 2.1 0 1 68.49 50.37 L 68.49 62.84 A 0.61 0.61 0.0 0 0 69.10 63.45 L 89.86 63.45 A 2.28 2.28 0.0 0 1 92.14 65.73 L 92.14 69.45 A 2.50 2.50 0.0 0 1 89.64 71.95 L 69.10 71.95 A 0.61 0.61 0.0 0 0 68.49 72.56 Q 68.49 75.28 68.47 98.24 C 68.47 101.10 66.42 101.46 64.04 101.46 C 61.65 101.46 59.60 101.10 59.60 98.24 Q 59.58 75.28 59.58 72.56 A 0.61 0.61 0.0 0 0 58.97 71.95 L 38.43 71.95 A 2.50 2.50 0.0 0 1 35.93 69.45 L 35.93 65.73 A 2.28 2.28 0.0 0 1 38.21 63.45 L 58.97 63.45 A 0.61 0.61 0.0 0 0 59.58 62.84 L 59.58 50.37 A 3.05 3.03 -2.1 0 1 62.40 47.34 Q 62.93 47.31 64.03 47.31 Z'%3E%3C/path%3E%3C/svg%3E");
background-repeat: no-repeat;
background-size: contain;
}
.jingrow-icon-large {
width: 2em;
height: 2em;
}
.reveal-container {
height: 100vh;
width: 100%;

37
data/presentation.js Normal file
View File

@ -0,0 +1,37 @@
import fs from 'fs';
import path from 'path';
import matter from 'gray-matter';
// 从本地markdown文件获取页面数据
export async function getLocalPageData(slugArr) {
try {
if (!Array.isArray(slugArr) || slugArr.length === 0) {
return { data: null };
}
// 构建markdown文件路径
const fileName = slugArr.join('-') + '.md';
const filePath = path.join(process.cwd(), 'data', 'presentation', fileName);
// 检查文件是否存在
if (!fs.existsSync(filePath)) {
return { data: null };
}
// 读取markdown文件内容
const fileContent = fs.readFileSync(filePath, 'utf-8');
const { data: frontMatter, content } = matter(fileContent);
// 构建页面数据结构
const pageData = {
content: content,
slug: '/' + slugArr.join('/'),
slug_list: slugArr
};
return { data: pageData };
} catch (error) {
console.error("Error reading local markdown file:", error);
return { data: null };
}
}

View File

@ -0,0 +1,385 @@
---
theme: default
backgroundTransition: slide
transition: slide
---
# <span class="jingrow-icon jingrow-icon-large"></span> Jingrow<br>一站式通用企业数字化平台
### 下一代智能工作平台
*让企业数字化变得简单而强大*
---
<!-- .slide: data-background="linear-gradient(135deg, #f093fb 0%, #f5576c 100%)" class="text-center" -->
## ✨ 核心特性
- **🎯 零代码配置**:通过可视化界面快速创建业务表单、工作流程和报表,无需编程基础
- **📄 页面化管理**:将所有业务对象抽象为"页面",实现统一的数据管理和权限控制
- **💬 实时协作**:内置实时通信和消息推送,团队成员可即时协作和沟通
- **🤖 智能自动化**AI 驱动的业务流程自动化,提升工作效率
- **🔒 数据安全隔离**:每个用户拥有完全独立的数据库,物理隔离确保数据安全
- **📱 移动友好**:响应式设计,支持手机、平板等移动设备访问
---
<!-- .slide: data-background="linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)" class="text-center" -->
## 🤖 AI Agent 智能体
- **🎨 智能流程编排**可视化AI工作流设计支持条件判断和分支控制
- **🎭 多模态AI能力**:文本生成、图像生成、内容优化、智能分析
- **🧠 自动化决策**基于规则和AI的智能决策引擎减少人工干预
- **💡 智能助手**24/7在线AI助手自动处理常见业务咨询
---
<!-- .slide: data-background="linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)" class="text-center" -->
## 🔄 自动化与工作流
- **⚙️ 工作流引擎**:可视化流程设计、审批流程、状态管理
- **⏰ 定时任务**:自动化执行重复性工作,提升效率
- **📢 消息通知**:邮件提醒、站内消息、实时推送
- **🔄 数据同步**:与第三方系统的数据集成和同步
---
<!-- .slide: data-background="linear-gradient(135deg, #fa709a 0%, #fee140 100%)" class="text-center" -->
## 🌐 门户与网站
- **🏢 企业门户**:对外展示的企业官网和产品页面
- **👤 用户中心**:客户自服务门户,查看订单、下载资料
- **🌍 多语言支持**:国际化界面,支持多种语言切换
- **📱 移动适配**:响应式设计,完美适配各种设备
---
<!-- .slide: data-background="linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)" class="text-center" -->
## 🧠 人工智能
- **🎯 AI 流程编排**:可视化的 AI 工作流设计和执行
- **✍️ 智能内容生成**:文本生成、图像生成、内容优化
- **🎲 自动化决策**:基于规则和 AI 的智能决策引擎
- **📊 数据分析**:智能报表生成和业务洞察
---
<!-- .slide: data-background="linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%)" class="text-center" -->
## 🔧 系统管理
- **👥 用户权限**:细粒度的用户角色和数据权限控制
- **⚙️ 系统配置**:灵活的系统参数和业务规则配置
- **📥 数据导入导出**:批量数据处理和格式转换
- **📋 审计日志**:完整的操作记录和安全审计
---
<!-- .slide: data-background="linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)" class="text-center" -->
## 📄 页面化管理核心
Jingrow 采用独特的"页面化"管理理念,将所有业务对象统一抽象为"页面"
---
<!-- .slide: data-background="linear-gradient(135deg, #667eea 0%, #764ba2 100%)" class="text-center" -->
### 📄 什么是页面
- **🗂️ 数据结构**:每个页面对应一种业务数据类型(如客户、订单、项目等)
- **📝 表单界面**:自动生成美观的录入和编辑界面
- **⚡ 业务逻辑**:支持自定义校验规则、自动计算和流程控制
---
<!-- .slide: data-background="linear-gradient(135deg, #f093fb 0%, #f5576c 100%)" class="text-center" -->
### 🛠️ 页面类型
- **📋 标准页面**:常见的业务数据,如客户信息、产品资料
- **⚙️ 单例页面**:系统配置类数据,全局只有一条记录
- **📊 子表页面**:作为其他页面的明细数据,如订单商品明细
- **🌳 树形页面**:层级结构数据,如部门组织架构
- **🔮 虚拟页面**:动态生成的临时数据,如报表统计
---
<!-- .slide: data-background="linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)" class="text-center" -->
### 🎨 页面能力
- **👁️ 多种视图**:列表、表单、看板、日历、甘特图等多种展示方式
- **🔐 权限控制**:精细到字段级别的访问权限设置
- **🔄 工作流集成**:支持提交、审核、取消等状态流转
- **🔢 自动编号**:灵活的命名规则和自动编号机制
- **🔗 关联链接**:页面间的关联关系和快速跳转
- **📦 批量操作**:支持批量编辑、导入、导出等操作
---
<!-- .slide: data-background="linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)" class="text-center" -->
## 🎯 典型应用场景
---
<!-- .slide: data-background="linear-gradient(135deg, #fa709a 0%, #fee140 100%)" class="text-center" -->
### 🏢 企业内部管理
- **📋 办公自动化**:审批流程、文档管理、考勤管理、资产管理
- **🤝 客户关系管理**:销售线索跟踪、客户服务、合同管理
- **📈 项目管理**:项目规划、任务分配、进度监控、资源调配
- **👥 人力资源**:员工档案、绩效考核、培训管理、薪酬管理
---
<!-- .slide: data-background="linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)" class="text-center" -->
### 🌐 对外服务门户
- **🎧 客户服务中心**:在线工单、常见问题、下载中心
- **🤝 合作伙伴门户**:渠道管理、资料共享、业绩统计
- **🏭 供应商平台**:采购协同、质量管理、结算对账
- **🏢 企业官网**:产品展示、新闻发布、在线咨询
---
<!-- .slide: data-background="linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%)" class="text-center" -->
### <span class="jingrow-icon"></span> 创新应用
- **📡 IoT 数据监控**:设备状态监控、数据采集、告警管理
- **🤖 AI 业务助手**:智能客服、内容生成、决策支持
- **📱 移动办公**:手机端业务处理、实时消息、位置服务
- **📊 数据分析**:业务报表、趋势分析、预测建模
---
<!-- .slide: data-background="linear-gradient(135deg, #667eea 0%, #764ba2 100%)" class="text-center" -->
## 🛡️ 技术优势
---
<!-- .slide: data-background="linear-gradient(135deg, #f093fb 0%, #f5576c 100%)" class="text-center" -->
### 🔒 安全可靠
- **🔐 多层权限控制**:基于角色的访问控制,支持行级和字段级权限
- **🔒 数据加密传输**:全程 HTTPS 加密,保障数据传输安全
- **📋 操作审计日志**:完整记录用户操作,支持合规性审计
- **💾 备份与恢复**:自动数据备份,快速故障恢复
---
<!-- .slide: data-background="linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)" class="text-center" -->
### ⚡ 高性能
- **⚡ 缓存优化**:多级缓存机制,提升系统响应速度
- **🗄️ 数据库优化**:智能索引和查询优化,支持大数据量处理
- **💬 实时通信**WebSocket 技术,实现毫秒级消息推送
- **⚖️ 负载均衡**:支持集群部署,自动负载分配
---
<!-- .slide: data-background="linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)" class="text-center" -->
### 🔗 集成开放
- **🔌 API 接口**:完整的 REST API方便第三方系统集成
- **🔔 Webhook 支持**:事件驱动的消息通知机制
- **🔑 单点登录**:支持 LDAP、OAuth2 等主流认证协议
- **🔄 数据同步**:与常见办公软件和业务系统的数据对接
---
<!-- .slide: data-background="linear-gradient(135deg, #fa709a 0%, #fee140 100%)" class="text-center" -->
## 🎨 用户体验
---
<!-- .slide: data-background="linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)" class="text-center" -->
### 🎨 现代化界面
- **📱 响应式设计**:自适应各种屏幕尺寸,提供一致的用户体验
- **👁️ 直观操作**:简洁清晰的界面设计,降低学习成本
- **🎨 个性化定制**:支持主题切换和界面布局个性化设置
- **⚡ 快捷操作**:键盘快捷键和批量操作,提升工作效率
---
<!-- .slide: data-background="linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%)" class="text-center" -->
### 📱 移动友好
- **📱 移动优先**:原生支持移动设备,无需安装额外应用
- **🔔 推送通知**:重要消息实时推送到手机
---
<!-- .slide: data-background="linear-gradient(135deg, #667eea 0%, #764ba2 100%)" class="text-center" -->
### 🌍 国际化支持
- **🌐 多语言界面**:支持中文、英文等多种语言
- **⏰ 时区处理**:自动处理不同时区的时间显示
---
<!-- .slide: data-background="linear-gradient(135deg, #f093fb 0%, #f5576c 100%)" class="text-center" -->
## <span class="jingrow-icon"></span> 快速开始
---
<!-- .slide: data-background="linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)" class="text-center" -->
### 💼 企业版部署
- **☁️ 云端部署**:提供专业的云端托管服务,开箱即用
- **🛠️ 技术支持**:专业团队提供部署指导和技术支持
---
<!-- .slide: data-background="linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)" class="text-center" -->
### 🎯 快速配置
1. **⚙️ 基础设置**:配置企业信息、用户账号、权限角色
2. **🏗️ 业务建模**:创建符合企业需求的业务页面和字段
3. **🔄 流程设计**:设置审批流程和自动化规则
4. **📥 数据导入**:批量导入现有业务数据
5. **📚 用户培训**:提供使用培训和操作指南
---
<!-- .slide: data-background="linear-gradient(135deg, #fa709a 0%, #fee140 100%)" class="text-center" -->
### 📞 获取帮助
- **📖 在线文档**:详细的功能说明和操作指南
- **🎥 视频教程**:直观的功能演示和操作教学
- **🛠️ 技术支持**:专业的技术支持团队
- **💬 社区论坛**:用户交流和经验分享平台
---
<!-- .slide: data-background="linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)" class="text-center" -->
## 🏆 成功案例
---
<!-- .slide: data-background="linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%)" class="text-center" -->
### 🏭 制造业企业
某大型制造企业使用 Jingrow 构建了完整的生产管理系统,实现了从订单接收到产品交付的全流程数字化管理,**生产效率提升 30%****库存成本降低 20%**。
---
<!-- .slide: data-background="linear-gradient(135deg, #667eea 0%, #764ba2 100%)" class="text-center" -->
### 🏪 零售连锁
某连锁零售企业通过 Jingrow 建立了统一的门店管理平台,实现了总部与各门店的实时数据同步,**库存周转率提升 25%****客户满意度显著提高**。
---
<!-- .slide: data-background="linear-gradient(135deg, #f093fb 0%, #f5576c 100%)" class="text-center" -->
### 🏥 医疗机构
某医疗集团利用 Jingrow 的工作流引擎优化了患者就诊流程,实现了预约、挂号、诊疗、结算的一体化管理,**患者等待时间减少 40%**。
---
<!-- .slide: data-background="linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)" class="text-center" -->
### 🎓 教育机构
某大型培训机构使用 Jingrow 构建了学员管理系统,实现了从招生到毕业的全生命周期管理,**运营效率提升 50%****学员满意度达到 95%**。
---
<!-- .slide: data-background="linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)" class="text-center" -->
## 📞 联系我们
- **🌐 官方网站**:了解更多产品信息和最新动态
- **💰 销售咨询**:获取产品报价和定制方案
- **🛠️ 技术支持**:专业的技术团队提供全方位支持
- **🤝 合作伙伴**:欢迎系统集成商和咨询公司合作
---
<!-- .slide: data-background="linear-gradient(135deg, #667eea 0%, #764ba2 100%)" class="text-center" -->
# 🎉 感谢聆听
## Jingrow - 让企业数字化变得简单而强大
### <span class="jingrow-icon"></span> 开启您的数字化之旅
---
<!-- .slide: data-background="linear-gradient(135deg, #fa709a 0%, #fee140 100%)" class="text-center" -->
## 📚 附录Jingrow 系统开发指南
### 🔄 关键词替换规则
| 原始关键词 | 替换为关键词 |
|---|----|
| `frappe` | `jingrow` |
| `doctype` | `pagetype` |
| `DocType` | `PageType` |
| `doc` | `pg` |
| `get_doc` | `get_pg` |
---
<!-- .slide: data-background="linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)" class="text-center" -->
### ⚠️ 错误日志与异常处理
```python
# 打印错误日志
jingrow.log_error(title, message)
# 抛出异常
jingrow.throw(title, message)
```
---
<!-- .slide: data-background="linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%)" class="text-center" -->
### 🔌 Jingrow 调用外部API开发规范
- **🔑 统一认证**:使用 `get_jingrow_api_headers` 发送认证
- **📝 函数命名**`call_<模块名>_api`
- **🛡️ 安全校验**:包含鉴权校验、余额不足判断、错误提示弹窗
- **🔄 完整闭环**:保证脚本具备完整闭环能力,提升用户体验
---
<!-- .slide: data-background="linear-gradient(135deg, #667eea 0%, #764ba2 100%)" class="text-center" -->
### 💡 最佳实践建议
- **🏗️ 架构遵循**:遵循系统架构与开发风格
- **⚡ 简洁高效**:代码需简洁高效,避免重复
- **📁 统一管理**:通用函数应统一存放于合适路径下的 `utils.py` 文件
- **🔧 便于维护**:所有模块应便于维护与升级