feat: 添加一个复制文件链接到剪切板的插件

This commit is contained in:
539943419 committed 2024-09-08 05:57:13 +08:00
1 parent 0e631a6f34
commit ff7d0d8d51
17 files changed
+142 -15

No files matched your search

+11 -4
View File
@@ -1,7 +1,7 @@
import useVirtualPages from "@/hooks/useVirtualPages";
import VirtualDirectory, { VirtualFile } from "./VirtualDirectory";
import { ShallowRef, shallowRef } from "vue";
import { alertTipType } from "@/types/type";
import { alertTipType, usePluginHooksType } from "@/types/type";
export enum PluginGroup {
default = "default",
@@ -19,7 +19,7 @@ export interface registerComponentOption {
exitConfirm?: boolean;
}
type Plugin = {
export type Plugin = {
// 用于显示的名字
name: string;
// 代表插件的icon
@@ -31,7 +31,12 @@ type Plugin = {
// 判断在未禁用时是否可以使用这个组件
// 使用组件即调用下面的func
filter: (VDirectories: VirtualDirectory[], VFiles: VirtualFile[]) => boolean;
func: (VDirectories: VirtualDirectory[], VFiles: VirtualFile[], ...args: any[]) => void;
func: (
VDirectories: VirtualDirectory[],
VFiles: VirtualFile[],
hooks: usePluginHooksType,
...args: any[]
) => void;
};
export default class PluginCenter {
@@ -107,6 +112,8 @@ export default class PluginCenter {
}
usePlugin(key: string, VDirectories?: VirtualDirectory[], VFiles?: VirtualFile[], ...args: any[]) {
this.pluginsMap[key].func(VDirectories ?? [], VFiles ?? [], ...args);
this.pluginsMap[key].func(VDirectories ?? [], VFiles ?? [], {
globalAlertTip: this.globalAlertTip
}, ...args);
}
}