window.PluginList = { setup() { const { ref, onMounted } = Vue; const api = useApi(); const plugins = ref([]); const loaded = ref(false); const dialogVisible = ref(false); const dialogPluginName = ref(''); async function load() { const json = await api.getPlugins(); if (json) { plugins.value = json.plugins; loaded.value = true; } } async function toggle(plugin, enable) { const json = await api.togglePlugin(plugin.name, enable); if (json) { ElementPlus.ElMessage.success((enable ? '已启用: ' : '已禁用: ') + plugin.name); await load(); } } function openConfig(name) { dialogPluginName.value = name; dialogVisible.value = true; } onMounted(load); return { plugins, loaded, toggle, openConfig, dialogVisible, dialogPluginName }; }, template: `
加载中...
` };