Condivisione della tecnologia

[Motore di visualizzazione open source domestico Meta2d.js] Trascina e rilascia

2024-07-12

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

Meta2d.js ha ascoltato gli eventi di trascinamento, supporta la ricezione di dati JSON primitivi validi e crea un oggetto primitivo sull'area di disegno.

Trascina e rilascia la libreria grafica

1. Creare una barra degli strumenti della libreria grafica

Crea un elemento html della barra degli strumenti della libreria grafica e associa l'evento di trascinamento o l'evento di tocco

  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>

copia

2. Trasferisci i dati

  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. };

copia

Trascina e rilascia le immagini del desktop

Metodo 1: uploadUrl

Configurazione front-end: meta2d.store.options.uploadUrl.

Configurazione del back-end:

  1. Il nome dell'attributo del file formData accettato deve essere file
  2. Nella risposta restituita dal backend, l'attributo di primo livello deve contenere url come indirizzo di anteprima dell'immagine.
  1. new Meta2d("meta2d", {
  2. uploadUrl: "/api/image",
  3. uploadHeaders: {
  4. token: "xxx"
  5. },
  6. uploadParams: {
  7. // 参数
  8. public: true,
  9. },
  10. });

copia

Metodo 2: uploadFn

Configura meta2d.store.options.uploadFn. Questo metodo è una funzione di callback e il parametro è un file, ovvero un file immagine Dopo il caricamento sul backend, è necessario restituire l'URL accessibile dell'immagine.

uploadFn converte le immagini in base64 per impostazione predefinita, il che fa sì che il file json scaricato sia di grandi dimensioni e non possa essere riutilizzato dopo aver copiato l'immagine.Si consiglia di passare l'immagine al backend e utilizzare l'URL per accedere all'immagine

  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. });

copia

Open source domestico

LeWule si dedica alla ricerca e allo sviluppo, è indipendente e controllabile e continua a iterare e ottimizzare.

Pagina inizialeGitHub - le5le-com/meta2d.js: meta2d.js è uno scambio di dati in tempo reale e un motore 2D Web interattivo. Gli sviluppatori sono in grado di creare Web SCADA, IoT, gemelli digitali e così via. Meta2d.js è in tempo reale scambio di dati e motore 2D interattivo, che può essere utilizzato nella configurazione Web, nell'Internet delle cose, nei gemelli digitali e in altri scenari.

Alloggio: meta2d.js: meta2d.js è uno scambio di dati in tempo reale e un motore web 2D interattivo. Gli sviluppatori sono in grado di creare Web SCADA, IoT, gemelli digitali e così via. Può essere utilizzato nella configurazione Web, Internet delle cose, gemelli digitali e altri scenari.

Benvenuto a Star, Fork e al supporto del blog