本章介紹系統安裝與啟用及其自定義功能。
若需自定義系統安裝功能,則完成如下步驟即可。
//自定義安裝頁面類
class MyInstall : Form
{
private InstallInfo? info;
private readonly List<MenuItem> items = new()
{
new MenuItem{Icon="fa fa-home",Name="步驟一"},
new MenuItem{Icon="fa fa-home",Name="步驟二"},
new MenuItem{Icon="fa fa-home",Name="步驟三"}
};
//安裝成功後回撥
[Parameter] public Action<CheckInfo>? OnInstall { get; set; }
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
//使用內建Steps元件構造分步表單
builder.Component<Steps>()
.Set(c => c.Items, items)
.Set(c => c.OnChanged, OnChanged)
.Set(c => c.OnFinished, OnFinished)
.Set(c => c.Body, BuildStep)
.Build();
}
//建造步驟內容
private void BuildStep(RenderTreeBuilder builder, MenuItem item)
{
builder.Span(item.Name);
}
//每一步儲存
private void OnChanged(MenuItem item)
{
//在此非同步請求各步驟的後端邏輯
UI.Tips($"儲存{item.Name}");
}
//最後一步完成
private void OnFinished()
{
//呼叫內建儲存安裝資訊方法
SubmitAsync(data => Platform.System.SaveInstallAsync(info), result =>
{
if (result.IsValid)
OnInstall?.Invoke(result.DataAs<CheckInfo>());
});
}
}
public class Index : Known.Razor.Pages.Index
{
protected override void BuildInstall(RenderTreeBuilder builder)
{
//Build自定義Install
builder.Component<MyInstall>().Set(c => c.OnInstall, OnInstall).Build();
}
}
public class AppCore
{
public static void Initialize()
{
//註冊自定義產品ID
PlatformHelper.ProductId = MyCheck.GetProductId;
...
}
}
public class AppCore
{
public static void Initialize()
{
//註冊安裝頁面自動重新整理產品金鑰
PlatformHelper.UpdateKey = MyCheck.UpdateKey;
//註冊產品金鑰驗證
PlatformHelper.CheckSystem = MyCheck.CheckSystem;
//註冊使用者數限制
PlatformHelper.CheckUser = MyCheck.CheckUser;
...
}
}
Known是基於C#和Blazor開發的前後端分離快速開發框架,開箱即用,跨平臺,一處程式碼,多處執行。
基於C#和Blazor實現的快速開發框架,前後端分離,開箱即用。
跨平臺,單頁應用,混合桌面應用,Web和桌面共用一處程式碼。
包含模組、字典、組織、角色、使用者、紀錄檔、訊息、工作流、定時任務等功能。
程式碼簡潔、易擴充套件,讓開發更簡單、更快捷!
如果對您有幫助,點選⭐Star⭐關注 ,感謝支援開源!