Blazor前后端框架Known功能介绍:系统安装激活及自定义
阅读原文时间:2023年07月08日阅读:1

本章介绍系统安装与激活及其自定义功能。

  • 框架内置简单的系统安装功能。
  • 录入企业编码、名称、系统名称、产品密钥、管理员密码信息完成安装。
  • 可自定义高级安装功能,如安装数据库等您产品所需的安装信息。
  • 框架默认无需注册产品密钥,若产品需要安装产品密钥进行激活,可进行自定义。
  • 若产品密钥到期,所有模块页面自动显示授权激活组件。

若需自定义系统安装功能,则完成如下步骤即可。

1. 构建安装模块

//自定义安装页面类
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>());
        });
    }
}

2. 重写Index的BuildInstall

public class Index : Known.Razor.Pages.Index
{
    protected override void BuildInstall(RenderTreeBuilder builder)
    {
        //Build自定义Install
        builder.Component<MyInstall>().Set(c => c.OnInstall, OnInstall).Build();
    }
}
  • 产品ID默认识别主机的MAC地址。

  • 若需自定义ID格式及识别方式,在后端初始化方法中注册自定义方法即可。

    public class AppCore
    {
    public static void Initialize()
    {
    //注册自定义产品ID
    PlatformHelper.ProductId = MyCheck.GetProductId;

    }
    }

  • 框架默认不验证产品ID和密钥。

  • 若产品需要安装密钥才能使用,在后端初始化方法中注册验证方法即可。

    public class AppCore
    {
    public static void Initialize()
    {
    //注册安装页面自动刷新产品密钥
    PlatformHelper.UpdateKey = MyCheck.UpdateKey;
    //注册产品密钥验证
    PlatformHelper.CheckSystem = MyCheck.CheckSystem;
    //注册用户数限制
    PlatformHelper.CheckUser = MyCheck.CheckUser;

    }
    }

Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。

  • Gitee: https://gitee.com/known/Known

  • Github:https://github.com/known/Known

  • 基于C#和Blazor实现的快速开发框架,前后端分离,开箱即用。

  • 跨平台,单页应用,混合桌面应用,Web和桌面共享一处代码。

  • 包含模块、字典、组织、角色、用户、日志、消息、工作流、定时任务等功能。

  • 代码简洁、易扩展,让开发更简单、更快捷!

如果对您有帮助,点击Star关注 ,感谢支持开源!