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

概述

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

自定义安装

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

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

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

Blazor前后端框架Known功能介绍:系统安装激活及自定义的更多相关文章

  1. ASP.NET Core模块化前后端分离快速开发框架介绍之4、模块化实现思路

    源码 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:https://nm.iamoldli.com 账户:admin 密码:admin 前 ...

  2. ASP.NET Core模块化前后端分离快速开发框架介绍之2、快速创建一个业务模块

    源码地址 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:https://nm.iamoldli.com 账户:admin 密码:admin ...

  3. 快速web开发中的前后端框架选型最佳实践

    这个最佳实践是我目前人在做的一个站点,主要功能: oauth登录 发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”.支持自定义排版.插图.建立相 ...

  4. ASP.NET Core模块化前后端分离快速开发框架介绍之1、开篇

    源码地址 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:https://nm.iamoldli.com 账户:admin 密码:admin ...

  5. com.panie 项目开发随笔_前后端框架考虑(2016.12.8)

    (一) 近日和一同学联系,说了我想要做一个网站的打算.她很感兴趣.于是我们协商了下,便觉得一起合作.她写前端,我写后台.因为我对于前端样式设计并不怎么熟悉. (二) 我们决定先做一个 个人博客. 网上 ...

  6. layui框架部分功能介绍

    注意:代码的所有功能都没有导入layui的css样式 一,分页功能 layui框架分页使用,其实layui分页非常简单只需要传入一个总页数就可以很好运用这个功能 下面就看一下我对layui框架分页的介 ...

  7. VSCode 完美整合前后端框架(angular2+.NET core)

    首先打开命令行查看本地.NET版本. 通过命令行安装模板. dotnet new --install Microsoft.AspNetCore.SpaTemplates::* 创建demo目录,并用v ...

  8. ASP.NET Core模块化前后端分离快速开发框架介绍之3、数据访问模块介绍

    源码 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:https://nm.iamoldli.com 账户:admin 密码:admin 前 ...

  9. Vue2+Koa2+Typescript前后端框架教程--03后端路由和三层模式配置

    昨天将Koa2的基础框架和自动编译调试重启服务完成,今天开始配置路由和搭建基础的三层架构模式. 路由中间件:koa-router,即路由导航,就是我们平时使用最广泛的get/post方法执行的URL路 ...

  10. web前后端框架整理

    nodejs <——> Express <———> bootstrap <———> angularJS <————> jquery <—————& ...

随机推荐

  1. Java 8新特性之 Optional 类

    前言 java.util.Optional 是java8中引进的一个新的类,我们通过Optional类的源码可以看到,该方法的作用可以对可能缺失的值进行建模,而不是直接将null赋值给变量. Opti ...

  2. LeeCode 91双周赛复盘

    T1: 不同的平均值数目 思路:排序 + 双指针 + 哈希存储 public int distinctAverages(int[] nums) { Arrays.sort(nums); Set< ...

  3. vue高阶函数

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. laravel实现大数据csv导出

    首先说明几点: excel格式的文件最大支持100万的数据,所以不考虑使用excel格式 laravel的toArray()方法有内存泄露,所以大量数据导出不能使用. 当然要使用chunk方法查询数据 ...

  5. Arch Linux安装笔记

    ​ 最近有些厌倦Windows,所以想尝试一下Linux,选择Arch的原因不再赘述,建议以ArchLinux官方安装指南为主,这篇笔记只是方便我自己安装而写的,仅供参考. 1. 安装前的准备 1.1 ...

  6. Gin框架快速入门

    github地址: https://github.com/gin-gonic/gin 初体验 安装: $ go get -u github.com/gin-gonic/gin 简单实例: packag ...

  7. C# 系统菜单弹出框方向

    右键菜单,tootip等弹出时,弹出的位置经常在左侧,使用体验不好. 弹出方向有左对齐和右对齐 SystemParameters.MenuDropAlignment 当右对齐时,值为false 可以在 ...

  8. Prism Sample 29-InvokeCommandAction

    一下子跳到29,不是我的错,应该是新版本中去掉了一些过重的功能,案例就也去掉了,所以不是我的错. 本例是演示行为转命令的,事实上前面已经用到了. xmlns:i="http://schema ...

  9. SignalR服务端及客户端实现

    服务器端: 引用nuget: 1.Microsoft.AspNet.SignalR.SelfHost 2.Microsoft.Owin.Cors internal class Program { st ...

  10. 2020-11-22:mysql中,什么是filesort?

    福哥答案2020-11-22:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/412)如果mysql在排序的时候没有使用到索引那么就会输出 using ...