本章介绍系统安装与激活及其自定义功能。
概述
- 框架内置简单的系统安装功能。
- 录入企业编码、名称、系统名称、产品密钥、管理员密码信息完成安装。
- 可自定义高级安装功能,如安装数据库等您产品所需的安装信息。
- 框架默认无需注册产品密钥,若产品需要安装产品密钥进行激活,可进行自定义。
- 若产品密钥到期,所有模块页面自动显示授权激活组件。
自定义安装
若需自定义系统安装功能,则完成如下步骤即可。
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自定义Installbuilder.Component<MyInstall>().Set(c => c.OnInstall, OnInstall).Build();}
}
自定义产品ID
- 产品ID默认识别主机的MAC地址。
- 若需自定义ID格式及识别方式,在后端初始化方法中注册自定义方法即可。
public class AppCore
{public static void Initialize(){//注册自定义产品IDPlatformHelper.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⭐关注 ,感谢支持开源!