DDei在线设计器-API-DDeiFile

news/2024/7/4 3:06:35 标签: 前端, 编辑器, javascript, vue, 流程图

DDeiFile

  DDeiFile是代表一个设计文件,一个文件含有多个DDeiSheet(页签)
  DDeiFile实例包含了一个文件的所有数据,在获取后可以通过它访问其他内容。DDeiEditor中的files属性记录了当前打开的文件列表。

  一个DDeiEditor实例至少包含一个DDeiFile实例。

  本篇最后提供的示例可以在DDei文档直接预览

属性

属性名说明数据类型静态默认值备注
id文件IDstring
unicode唯一编号string系统生成自动编码
name文件的名称,不包含扩展名string
desc文件的描述string[]
extData额外数据,存储额外的业务关键信息object
state状态DDeiFileStateNONE
active激活DDeiActiveTypeNONE
publish发布string00否/1是
lastUpdateTime最后修改时间number当前时间毫秒数字
path文件的完整路径string0包含了目录的路径
sheets页签集合DDeiSheet[]
currentSheetIndex当前所在页签number-1
histroy操作日志object[][]用于保存、撤销和恢复
modelNumber模型数量number0
modelType模型类型stringDDeiFile

方法

static loadFromJSON

  将JSON转换为一个DDeiFile实例

参数

参数名类型范围默认值备注
jsonobject文件JSON数据
tempDataobject用于初始化的数据:{currentDdInstance:当前ddInstance实例}

返回值

类型备注
DDeiFileDDeiFile实例

toJSON

  将DDeiFile实例转换为JSON对象

参数

  无

返回值

类型备注
JSON包含了DDeiFile所有信息的JSON对象

calModelNumber

  计算并返回当前文件的模型总数量

参数

  无

返回值

类型备注
number模型总数量

changeSheet

  切换页签

参数

参数名类型范围默认值备注
indexnumber页签下标

返回值

  无

addHistroy

  记录操作日志

参数

参数名类型范围默认值备注
dataobject文件数据

返回值

  无

revokeHistroyData

  根据日志撤销数据到上一步操作

参数

  无

返回值

  无

示例

代码

vue"><script setup lang="ts">
import DDeiEditorView from "ddei-editor";
import {DDeiEditor,DDeiFile,DDeiCoreStandLayout,DDeiAbstractShape} from "ddei-editor";
import { defineComponent, markRaw,getCurrentInstance,ref } from "vue";
//获取主对象实例,代替this获取$refs
const {proxy} = getCurrentInstance()

const jsontext = ref("无JSON")
const options = markRaw({
  config: { 
    "grid": 0, //网格线
    "background": { color: "blue", opacity: 0.1 }, //背景色
    initData: {
      controls: [
        {
          model: "102010",
          text: "初始化图形"
        },
      ]
    }
  },
  //配置扩展插件
  extensions: [
    //布局的配置
    DDeiCoreStandLayout.configuration({
      //配置插件
      'top': [],
      'middle': ['ddei-core-panel-canvasview'],
      'bottom': [],
      'left': [],
      'right': []
    }),
  ],
})

const getData = () => {
  //获取编辑器 
  let editor = proxy.$refs["ddei_editor_api_2"].editor;
  //获取JSON
  let file:DDeiFile = editor.files[0]
  jsontext.value = JSON.stringify(file.toJSON());
};

</script>

<template>

<button @click="getData" style="border:1px solid grey;margin-left:5px;padding:5px">获取JSON</button>

<div style="width:400px;height:400px;margin:100px auto;">
  <DDeiEditorView :options="options" ref="ddei_editor_api_2" id="ddei_editor_api_2"></DDeiEditorView>
</div>
</template>

仓库信息

源码: https://gitee.com/hoslay/ddei-editor

文档: http://docs.ddei.top

在线体验: https://www.ddei.top

技术支持

QQ:3697355039     邮箱:3697355039@qq.com

http://www.niftyadmin.cn/n/5534611.html

相关文章

创客项目秀|基于XIAO ESP32S3 sense 的小型相机

在这个科技飞速发展的时代&#xff0c;DIY&#xff08;Do It Yourself&#xff09;文化正成为连接创新与日常生活的桥梁&#xff0c;今天小编给大家带来了来自麻省理工学院的Arnov Sharma 的基于XIAO ESP32S3 sense的小型相机项目&#xff0c;该相机拥有一个圆形的触摸屏幕可以…

uni-app与原生插件混合开发调试3-安卓原生插件开发调试和打包

安卓原生插件开发调试和打包 上面已经介绍了怎么安装开发和调试环境&#xff0c;接下来就是安卓原生插件的具体开发和调试步骤&#xff1a; 将uniapp前端项目的index.vue文件新增代码。代码如图所示&#xff1a; <template><view><view><text>{{titl…

【问题记录】Ubuntu提示: “E: 软件包 gcc 没有可安装候选“

Ubuntu提示: "E: 软件包 gcc 没有可安装候选" 一&#xff0c;问题现象二&#xff0c;问题原因&解决方法 一&#xff0c;问题现象 在虚拟机Ubuntu中进行安装gcc命令时报错&#xff1a;“E: 软件包 gcc 没有可安装候选”: 二&#xff0c;问题原因&解决方法 …

计算机组成原理笔记-第4章 存储器

第4章 存储器 笔记PDF版本已上传至Github个人仓库&#xff1a;CourseNotes&#xff0c;欢迎fork和star&#xff0c;拥抱开源&#xff0c;一起完善。 该笔记是最初是没打算发网上的&#xff0c;所以很多地方都为了自我阅读方便&#xff0c;我理解了的地方就少有解释&#xff1b…

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装&#xff0c;可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 &#xff08;1&#xff09;通过position属性,可以控制下拉选项的位置 &am…

Python中文自然语言处理(NLP)中文分词工具库之pkuseg使用详解

概要 在中文自然语言处理(NLP)中,分词是一个基础且关键的任务。pkuseg 是由北京大学开发的一个中文分词工具,专为处理现代汉语而设计。它采用了先进的深度学习技术,能够准确地进行中文分词,同时支持自定义词典和多领域分词。本文将详细介绍 pkuseg 库,包括其安装方法、…

Spring Boot 快速入门2 ——SpringBoot运行原理分析

一、SpringBoot运行原理 父依赖 我们再查看 Spring Boot 项目中 pom.xml 可以看出&#xff0c;所有的 Spring Boot 项目 直接或间接的 依赖于一个 父项目 spring-boot-starter-parent &#xff0c;主要是管理项目的资源及其插件。 <parent><groupId>org.sprin…

【Android WebView】WebView基础

一、简介 WebView是一个基于webkit引擎、展现web页面的控件。Android的Webview在低版本和高版本采用了不同的webkit版本内核&#xff0c;4.4后直接使用了Chrome。 二、重要类 以WebView类为基础&#xff0c;WebSettings、WebViewClient、WebChromeClient为辅助共同完成安卓段加…