mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
1.7 KiB
1.7 KiB
Plugin SDK v4 Migration Guide
This guide describes the breaking changes introduced by Plugin SDK 4.0.0.
Version Baseline
- Host plugin SDK baseline:
4.0.0 - Plugins targeting
3.xare rejected by default - Manifest file remains
plugin.json
Breaking Changes
AddPluginDesktopComponentnow uses options-first registration.PluginDesktopComponentOptionsis now the canonical component registration shape and must includeComponentId.- Appearance and radius access are provided through strongly typed APIs:
IPluginAppearanceContextPluginAppearanceSnapshotPluginCornerRadiusTokensPluginCornerRadiusPreset
PluginDesktopComponentContextnow exposesAppearanceas the primary appearance access point.
New Component Registration Pattern
services.AddPluginDesktopComponent<MyWidget>(new PluginDesktopComponentOptions
{
ComponentId = "YourPlugin.Widget",
DisplayName = "My Widget",
IconKey = "PuzzlePiece",
Category = "Plugins",
MinWidthCells = 4,
MinHeightCells = 3,
CornerRadiusPreset = PluginCornerRadiusPreset.Default
});
Appearance Usage Pattern
public MyWidget(PluginDesktopComponentContext context)
{
var mdRadius = context.Appearance.ResolveCornerRadius(PluginCornerRadiusPreset.Md);
var adaptiveRadius = context.Appearance.ResolveScaledCornerRadius(12, 8, 20);
}
Manifest Update
Update plugin manifests to API 4.x:
{
"apiVersion": "4.0.0"
}
Validation Checklist
plugin.jsondeclaresapiVersion4.0.0(or compatible4.x)- component registration migrated to options model
- runtime appearance access uses
IPluginAppearanceContext - plugin package rebuilt and republished as
.laapp