【PPTist】开源PPT编辑器初体验

news/2024/11/21 19:27:34/

前言:PPTist 是一款基于 Vue3.x + TypeScript 构建的开源的PPT在线编辑器,功能很齐全,体验感很好,下载运行也很方便,没有奇奇怪怪的报错,分享给大家,以后可能会出系列!

下载运行就不说了,很简单方便,而且没有报错。

界面很简洁美观
在这里插入图片描述
另外项目目录也比较清晰,就是传统的 Vue3 项目。学习一个开源项目,最好的学习方式是从某一个功能入手,这一篇咱们就来看一个简单的功能吧,就是【添加幻灯片】功能。
先全局搜索一下 “添加幻灯片”
src/views/Editor/Thumbnails/index.vue 文件中,点击按钮的时候会触发 src/hooks/useSlideHandler.ts 中的 createSlide 方法,用来创建一个空白页并添加到下一页。

// 创建一页空白页并添加到下一页
const createSlide = () => {const emptySlide: Slide = {id: nanoid(10), // 10位随机数作为幻灯片IDelements: [],background: {type: 'solid',color: theme.value.backgroundColor,},}// 创建新页面后,将当前选中元素ID列表清空mainStore.setActiveElementIdList([])// 添加新页面slidesStore.addSlide(emptySlide)// 添加快照addHistorySnapshot()
}

src/store/slides.ts

addSlide(slide: Slide | Slide[]) {const slides = Array.isArray(slide) ? slide : [slide]for (const slide of slides) {if (slide.sectionTag) delete slide.sectionTag}// 将新页面添加到当前页面之后const addIndex = this.slideIndex + 1this.slides.splice(addIndex, 0, ...slides)this.slideIndex = addIndex
},

可以看到幻灯片其实是一个数组,逻辑还挺容易看懂的。
然后幻灯片的展示使用的是 Draggable 组件,这个组件是第三方的依赖

import Draggable from 'vuedraggable'

vuedraggable

另外存储数据使用的是 pinia
卡哇伊的标志
在这里插入图片描述
寓意着store中可以存储着多个对象,但是它们的根部又紧密相连~~~~~~


http://www.ppmy.cn/news/1548836.html

相关文章

ubuntu 16.04 中 VS2019 跨平台开发环境配置

su 是 “switch user” 的缩写,表示从当前用户切换到另一个用户。 sudo 是 “superuser do” 的缩写,意为“以超级用户身份执行”。 apt 是 “Advanced Package Tool” 的缩写,Ubuntu中用于软件包管理的命令行工具。 1、为 root 用户设置密码…

项目进度计划表:详细的甘特图的制作步骤

甘特图(Gantt chart),又称为横道图、条状图(Bar chart),是一种用于管理时间和任务活动的工具。 甘特图由亨利劳伦斯甘特(Henry Laurence Gantt)发明,是一种通过条状图来…

spring-logback引用外部文件

背景 在spring微服务开发和云部署中,都涉及到日志的收集,很多时候为例方便管理和开发,很多公司都会开发一些基础配置代码。其中日志就是很重要的部分, 为了方便部署、收集、查看,所以日志文件需要存储在同一个…

汽车资讯新高度:Spring Boot技术飞跃

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

android 动画原理分析

一 android 动画分为app内的view动画和系统动画 基本原理都是监听Choreographer的doframe回调 二 app端的实现是主要通过AnimationUtils来实现具体属性的变化通过invilate来驱动 wms来进行更新。这个流程是在app进程完成 这里不是我分析的重点 直接来看下系统动画里面的本地动…

Linux进阶:压缩、解压

压缩、解压 Linux和Mac系统通常有2种压缩格式,后缀名分别是: .tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装 .gz&#xff0…

Android Framework PMS面试题及参考答案

什么是 Package Manager Service(PMS)? Package Manager Service(PMS)是 Android 系统中一个核心的系统服务。它运行在系统的后台,主要负责系统中所有应用程序包(APK)的管理和维护工作。从本质上讲,它是一个在 Android 操作系统框架层发挥关键作用的服务组件。 它在 A…

【Python】30个Python爬虫的实战项目!!!(附源码)

Python爬虫是数据采集自动化的利器。本文精选了30个实用的Python爬虫项目,从基础到进阶,每个项目都配有完整源码和详细讲解。通过这些项目的实战,可以全面掌握网页数据抓取、反爬处理、并发下载等核心技能。 一、环境准备 在开始爬虫项目前…