// drawio 预览插件注册 // canHandle 严格匹配 .drawio / .dio 扩展名,不认 .xml(避免误吞配置文件,配置文件走代码编辑器)。 import type { Component } from 'vue' import { registerPreviewHandler } from '../registry' import type { FilePreviewHandlerDefinition } from '../types' // 仅 .drawio / .dio;.drawio.png / .drawio.svg 本就走图片预览,不冲突 const DRAWIO_EXT_REGEX = /\.(drawio|dio)$/i const drawioHandler: FilePreviewHandlerDefinition = { id: 'drawio-preview', name: 'Draw.io 查看器', icon: '📊', priority: 90, canHandle: (filename: string): boolean => DRAWIO_EXT_REGEX.test(filename || ''), getComponent: (): Promise => import('../../components/FileSystem/components/DrawioPreview.vue').then(m => m.default), supportsEdit: false, } registerPreviewHandler(drawioHandler)