Blazor前后端框架Known-V1.2.13
V1.2.13
Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。
- Gitee: https://gitee.com/known/Known
- Github:https://github.com/known/Known
概述
- 基于C#和Blazor实现的快速开发框架,前后端分离,开箱即用。
- 跨平台,单页应用,混合桌面应用,Web和桌面共享一处代码。
- 包含模块、字典、组织、角色、用户、日志、消息、工作流、定时任务等功能。
- 代码简洁、易扩展,让开发更简单、更快捷!
如果对您有帮助,点击Star关注 ,感谢支持开源!
更新日期
- 2023-08-17
更新内容
- 修复表单列表位置的问题
- 优化高级查询,根据字段类型区分下拉条件
- 优化文件导入组件及后端功能
- 修复空值验证正则表达式问题
- 优化导入架构,支持同步和异步两种模式
- 新增数据字典导入功能
- DataGrid新增SetData方法
- Upload组件新增Button样式
- KCConfig添加ProductId,仅初始化加载一次
- 新增Loading组件
- 修复系统激活页面样式问题
- KRConfig增加版权和许可配置
- 新增Prompt弹窗组件
- 修复我的消息列表样式问题
详细内容
1. DataGrid功能
- 导入支持同步和异步两种模式,默认为异步
- 数据字典增加导入功能
- 新增SetData方法
//同步导入
public void Import() => ShowImport(Name, typeof(TItem), false);
//异步导入
public void Import() => ShowImport(Name, typeof(TItem));
//SetData
grid?.SetData(new List<TItem>());
2. Upload组件
- 新增Button样式导入字段
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
builder.Field<Upload>("附件:", "Upload")
.Set(f => f.IsButton, true)
.Set(f => f.ButtonText, "导入附件")
.Build();
}

3. KCConfig配置
- 增加ProductId配置
- 仅初始化加载一次,关于系统页面不重复加载
- 变更自定义方式
//在项目初始化方法中加入如下代码
internal static void Initialize()
{
...
//该行需在KCConfig.AddWebPlatform之后添加才能覆盖ProductId
KCConfig.ProductId = GetProductId();
}
private static string GetProductId()
{
var id = "这里定义您的ID";
return $"PM-{Config.AppId}-{id:000000}";
}
4. Loading组件
- 用于耗时操作提示
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
builder.Button("提交", Callback(OnLoading), StyleType.Primary);
}
private void OnLoading()
{
UI.ShowLoading("数据提交中..."); //显示Loading
Task.Run(() =>
{
Thread.Sleep(2000);
UI.CloseLoading(); //关闭Loading
});
}

5. KRConfig配置
- 增加IsEditCopyright,是否允许编辑版权和许可,默认true
- 增加Copyright,自定义关于系统页面的版权信息
- 增加SoftTerms,自定义关于系统页面的许可信息
//在前端初始化方法中加入如下代码
internal static void Initialize()
{
KRConfig.IsEditCopyright = false; //不允许修改版权和许可
KRConfig.Copyright = "定义你的版权信息";
KRConfig.SoftTerms = "定义你的许可信息";
}
6. Prompt组件
- 用于弹窗敏捷表单
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
builder.Button("处理", Callback(OnPrompt), StyleType.Primary);
}
private void OnPrompt()
{
UI.Prompt("异常处理", new(300, 200), builder =>
{
builder.Field<TextArea>("原因", "Reason", true).Build();
},
data =>
{
//提交数据
UI.CloseDialog();
});
}

Blazor前后端框架Known-V1.2.13的更多相关文章
- 快速web开发中的前后端框架选型最佳实践
这个最佳实践是我目前人在做的一个站点,主要功能: oauth登录 发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”.支持自定义排版.插图.建立相 ...
- com.panie 项目开发随笔_前后端框架考虑(2016.12.8)
(一) 近日和一同学联系,说了我想要做一个网站的打算.她很感兴趣.于是我们协商了下,便觉得一起合作.她写前端,我写后台.因为我对于前端样式设计并不怎么熟悉. (二) 我们决定先做一个 个人博客. 网上 ...
- VSCode 完美整合前后端框架(angular2+.NET core)
首先打开命令行查看本地.NET版本. 通过命令行安装模板. dotnet new --install Microsoft.AspNetCore.SpaTemplates::* 创建demo目录,并用v ...
- web前后端框架整理
nodejs <——> Express <———> bootstrap <———> angularJS <————> jquery <—————& ...
- Vue2+Koa2+Typescript前后端框架教程--03后端路由和三层模式配置
昨天将Koa2的基础框架和自动编译调试重启服务完成,今天开始配置路由和搭建基础的三层架构模式. 路由中间件:koa-router,即路由导航,就是我们平时使用最广泛的get/post方法执行的URL路 ...
- Vue2+Koa2+Typescript前后端框架教程--05Sequelize的使用(ORM)
本篇开始分享Node.js后端服务开发中对于数据结构ORM的实现,主要使用的技术栈是:Sequelize. 上一篇文章中讲到班级管理的数据结构:ID,班级名称,班级编码,班主任ID,使用的数据库是My ...
- Vue2+Koa2+Typescript前后端框架教程--04班级管理示例(路由调用控制器)
上篇文章分享了简单的三层模式和基础文件夹的创建,本篇将以示例的形式详细具体的展示Router.Controller.Service.Model之间业务处理和数据传输. 1. 班级管理数据模型创建.数据 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史
---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...
- ASP.NET WebApi+Vue前后端分离之允许启用跨域请求
前言: 这段时间接手了一个新需求,将一个ASP.NET MVC项目改成前后端分离项目.前端使用Vue,后端则是使用ASP.NET WebApi.在搭建完成前后端框架后,进行接口测试时发现了一个前后端分 ...
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之四 || Swagger的使用 3.2
前言 如果想直接在域名的根目录直接加载 swagger 比如访问:localhost:8001 就能访问,可以这样设置: app.UseSwaggerUI(c => { c.SwaggerEnd ...
随机推荐
- 2022-04-18:things是一个N*3的二维数组,商品有N件,商品编号从1~N, 比如things[3] = [300, 2, 6], 代表第3号商品:价格300,重要度2,它是6号商品的附属
2022-04-18:things是一个N3的二维数组,商品有N件,商品编号从1~N, 比如things[3] = [300, 2, 6], 代表第3号商品:价格300,重要度2,它是6号商品的附属商 ...
- 【Java】JTable的数据刷新
前言 这段时间在写一个大实验,水果超市管理系统,yes,我觉得挺大的,但是就当成了一个实验,接下来还有一个课程设计和一个实训,more bigger... 问题 在我把其他的都写好的时候去写UI层,发 ...
- Bracket Sequence
F. Bracket Sequence time limit per test 0.5 seconds memory limit per test 256 megabytes input standa ...
- 瞄准程序员招聘痛点,ShowMeBug让面试代码操作可“回放”
程序员虽然是建设互联网的职业之一,但他们的招聘工作的线上化却有不少难题. 疫情加速了市场对远程办公.远程面试.远程教学等模式的接受程度,但程序员招聘涉及到代码能力测试,甚至不同企业有不同的产品代码基础 ...
- vivo 帐号服务稳定性建设之路-平台产品系列06
作者:vivo 互联网平台产品研发团队- Shi Jianhua.Sun Song 帐号是一个核心的基础服务,对于基础服务而言稳定性就是生命线.在这篇文章中,将与大家分享我们在帐号稳定性建设方面的经验 ...
- To ChatGPT:让你更加随意地使用所有ChatGPT应用
现在其实已经有很多在线的llm服务了,当然也存在许多开源部署方案,但是不知道大家有没有发现一个问题,目前基于ChatGPT开发的应用,都是使用的OpenAI的接口.换句话说,如果没有OpenAI账号, ...
- C# 实现 Linux 视频聊天、远程桌面(源码,支持信创国产化环境,银河麒麟,统信UOS)
园子里的有朋友在下载并了解了<C# 实现 Linux 视频会议(源码,支持信创环境,银河麒麟,统信UOS)>中提供的源码后,留言给我说,这个视频会议有点复杂了,代码比较多,看得有些费劲.问 ...
- Set 接口及其常用方法
Set 接口基本介绍 Set接口是Collection接口的一个子接口,其主要特点如下: 不允许重复元素:Set接口的实现类不会包含重复的元素.更正式地说,不包含任何一对使得e1.equals(e2) ...
- golang 实现四层负载均衡
大家好,我是蓝胖子,做开发的同学应该经常听到过负载均衡的概念,今天我们就来实现一个乞丐版的四层负载均衡,并用它对mysql进行负载均衡测试,通过本篇你可以了解到零拷贝的应用,四层负载均衡的本质以及实践 ...
- 基于GPT搭建私有知识库聊天机器人(四)问答实现
前文链接: 基于GPT搭建私有知识库聊天机器人(一)实现原理 基于GPT搭建私有知识库聊天机器人(二)环境安装 基于GPT搭建私有知识库聊天机器人(三)向量数据训练 在前面的文章中,我们介绍了如何使用 ...