Technologieaustausch

[Inländische Open-Source-Visualisierungs-Engine Meta2d.js] Drag & Drop

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Meta2d.js hat Drag-Ereignisse abgehört, unterstützt den Empfang gültiger primitiver JSON-Daten und erstellt ein primitives Objekt auf der Leinwand.

Drag-and-Drop der Grafikbibliothek

1. Erstellen Sie eine Symbolleiste für die Grafikbibliothek

Erstellen Sie ein HTML-Element für die Symbolleiste der Grafikbibliothek und binden Sie ein Drag- oder Touch-Ereignis

  1. <div v-for="item in list" draggable="true"
  2. ondragstart="onDragstart($event, item.data)"
  3. onclick="onTouchstart($event, item.data)"
  4. ontouchstart="onTouchstart($event, item.data)">
  5. <img :src="item.svg" />
  6. </div>

Kopieren

2. Daten übertragen

  1. // 示例pen
  2. const pen = {
  3. name: "rectangle",
  4. text: "矩形",
  5. width: 100,
  6. height: 100,
  7. };
  8. // 拖拽添加图元
  9. onDragstart = (e, pen) => {
  10. e.dataTransfer.setData("Text", JSON.stringify(pen));
  11. };
  12. // 支持单击添加图元
  13. import { deepClone } from "@meta2d/core";
  14. onTouchstart = (e, pen) => {
  15. meta2d.canvas.addCaches = deepClone([pen]);
  16. };

Kopieren

Desktop-Bilder per Drag-and-Drop verschieben

Methode 1: uploadUrl

Front-End-Konfiguration: meta2d.store.options.uploadUrl.

Backend-Konfiguration:

  1. Der Attributname der akzeptierten formData-Datei muss file sein
  2. In der vom Backend zurückgegebenen Antwort muss das Attribut der ersten Ebene eine URL als Bildvorschauadresse enthalten.
  1. new Meta2d("meta2d", {
  2. uploadUrl: "/api/image",
  3. uploadHeaders: {
  4. token: "xxx"
  5. },
  6. uploadParams: {
  7. // 参数
  8. public: true,
  9. },
  10. });

Kopieren

Methode 2: uploadFn

Konfigurieren Sie meta2d.store.options.uploadFn. Diese Methode ist eine Rückruffunktion und der Parameter ist eine Datei, also eine Bilddatei. Nach dem Hochladen in das Backend muss die zugängliche URL des Bildes zurückgegeben werden.

uploadFn konvertiert Bilder standardmäßig in Base64, was dazu führt, dass die heruntergeladene JSON-Datei groß wird und nach dem Kopieren des Bildes nicht wiederverwendet werden kann.Es wird empfohlen, das Bild an das Backend zu übergeben und über die URL auf das Bild zuzugreifen

  1. new Meta2d("meta2d", {
  2. uploadFn: async (file: File) => {
  3. // 伪代码,复制后根据实际情况使用
  4. const formData = new FormData();
  5. formData.append("file", file);
  6. const res = await axios.post(url, file);
  7. return res.url;
  8. },
  9. });

Kopieren

Inländische Open Source

LeWule widmet sich der Forschung und Entwicklung, ist unabhängig und kontrollierbar und iteriert und optimiert kontinuierlich.

Github:GitHub – le5le-com/meta2d.js: Die meta2d.js ist eine Echtzeit-Datenaustausch- und interaktive Web-2D-Engine. Entwickler können Web-SCADA, IoT, digitale Zwillinge usw. erstellen Datenaustausch und interaktive 2D-Engine, die in Webkonfiguration, Internet der Dinge, digitalen Zwillingen und anderen Szenarien verwendet werden kann.

Ferienhaus: meta2d.js: Die meta2d.js ist eine Echtzeit-Datenaustausch- und interaktive Web-2D-Engine. Entwickler können Web-SCADA, IoT, digitale Zwillinge usw. erstellen. Sie können in der Webkonfiguration, im Internet der Dinge und in digitalen Zwillingen verwendet werden und andere Szenarien.

Willkommen bei Star-, Fork- und Blog-Unterstützung