using Avalonia.Controls;
namespace NewLife.Studio.Core;
/// <summary>Studio 模块标准接口</summary>
public interface IStudioModule
{
/// <summary>模块唯一标识</summary>
string Id { get; }
/// <summary>显示名称</summary>
string DisplayName { get; }
/// <summary>导航栏图标</summary>
string Icon { get; }
/// <summary>导航排序(越小越靠前)</summary>
int Order { get; }
/// <summary>模块激活时调用</summary>
Task OnActivateAsync(CancellationToken ct = default);
/// <summary>模块停用时调用</summary>
Task OnDeactivateAsync(CancellationToken ct = default);
/// <summary>获取模块主视图</summary>
Control GetView();
}
|