• Blazor前后端框架Known功能介绍:系统安装激活及自定义


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

    概述

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

    自定义安装

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

    1. 构建安装模块

    //自定义安装页面类
    class MyInstall : Form
    {
    private InstallInfo? info;
    private readonly List 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()
    .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());
    });
    }
    }

    2. 重写Index的BuildInstall

    public class Index : Known.Razor.Pages.Index
    {
    protected override void BuildInstall(RenderTreeBuilder builder)
    {
    //Build自定义Install
    builder.Component().Set(c => c.OnInstall, OnInstall).Build();
    }
    }

    自定义产品ID

    • 产品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⭐关注 ,感谢支持开源!

  • 相关阅读:
    PHP将数据集转换成树状结构
    linux,write:xxx has messages disabled 与 Ubuntu多用户同时登录的问题 ubuntu 20.04
    今天学习了excel的公式和函数,常用的还没学完,先做好笔记,都是比较常用的东西,对未来分析数据很有用,明天继续加油
    来文心中国行厦门站,感受大模型落地生花的进展!
    安装.net framework报错“...扩展属性不一致”
    java 多线程笔记四 线程状态
    快速搭建Springboot项目(一)
    【自学CSS笔记第9篇】——结构伪类选择器和伪元素
    原生JavaScript实现本地存储(localStorage)和会话存储(sessionStorage)
    计算机毕业设计ssm+vue基本微信小程序的校园生活助手系统
  • 原文地址:https://www.cnblogs.com/known/p/17533855.html