V1.2.13

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

概述

  • 基于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的更多相关文章

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

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

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

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

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

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

  4. web前后端框架整理

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

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

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

  6. Vue2+Koa2+Typescript前后端框架教程--05Sequelize的使用(ORM)

    本篇开始分享Node.js后端服务开发中对于数据结构ORM的实现,主要使用的技术栈是:Sequelize. 上一篇文章中讲到班级管理的数据结构:ID,班级名称,班级编码,班主任ID,使用的数据库是My ...

  7. Vue2+Koa2+Typescript前后端框架教程--04班级管理示例(路由调用控制器)

    上篇文章分享了简单的三层模式和基础文件夹的创建,本篇将以示例的形式详细具体的展示Router.Controller.Service.Model之间业务处理和数据传输. 1. 班级管理数据模型创建.数据 ...

  8. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史

    ---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...

  9. ASP.NET WebApi+Vue前后端分离之允许启用跨域请求

    前言: 这段时间接手了一个新需求,将一个ASP.NET MVC项目改成前后端分离项目.前端使用Vue,后端则是使用ASP.NET WebApi.在搭建完成前后端框架后,进行接口测试时发现了一个前后端分 ...

  10. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之四 || Swagger的使用 3.2

    前言 如果想直接在域名的根目录直接加载 swagger 比如访问:localhost:8001 就能访问,可以这样设置: app.UseSwaggerUI(c => { c.SwaggerEnd ...

随机推荐

  1. 2021-07-30:两个有序数组间相加和的Topk问题。给定两个有序数组arr1和arr2,再给定一个整数k,返回来自arr1和arr2的两个数相加和最大的前k个,两个数必须分别来自两个数组。按照降

    2021-07-30:两个有序数组间相加和的Topk问题.给定两个有序数组arr1和arr2,再给定一个整数k,返回来自arr1和arr2的两个数相加和最大的前k个,两个数必须分别来自两个数组.按照降 ...

  2. Selenium - 元素操作(2) - 页面滚动条

    Selenium - 元素操作 函数滚动 一般元素定位,元素如果不在浏览器的可视位置(即可见只是不在可视位置),会自动把元素滚动到可视位置,但也有不会自己滚动的(比较少). 那我们就可以用seleni ...

  3. vue全家桶进阶之路6:Vue的安装以及js引入

    1.安装 注意:Vue 不支持 IE8 及以下版本 创建一个文件夹用于下载引入Vue D:\BaiduSyncdisk\vue2 按照最新版本的Vue npm install vue 创建完成后便可以 ...

  4. laravel ServiceProvider 服务提供者使用案例

    1. 实例化一个类 2.全局注册这个类 3.在控制器中使用 public function register() { $this->app->singleton('wxminapp', f ...

  5. 数据挖掘实践(金融风控):金融风控之贷款违约预测挑战赛(上篇)[xgboots/lightgbm/Catboost等模型]--模型融合:stacking、blending

    数据挖掘实践(金融风控):金融风控之贷款违约预测挑战赛(上篇)[xgboots/lightgbm/Catboost等模型]--模型融合:stacking.blending 1.赛题简介 赛题以金融风控 ...

  6. phpstudy-sqlilabs-less-14

    题目:POST - Double Injection - Single quotes- String - with twist 和上关一模一样 uname=1"or 1=1 #&pa ...

  7. 公众号接入 ChatGPT 了!

    虽迟但到,用了一段时间的chatgpt,功能确实令人惊叹,也是第一次体验到了交互式编程.不得不说,未来已来,花了一些时间,终于把chatgpt接入到了公众号! 使用方法 打开公众号的对话框,直接提问! ...

  8. nodejs 中 stream.pipe()直接将文件输出到页面乱码

    最近仿照anywhere写个anyentry目录读取器,发现使用stream.pipe()将文件输入到页面时,出现中文乱码 看哇 看到着实不爽,不解决咋能算 于是开始寻找问题根源 一.配置encodi ...

  9. Galaxy 生信平台(一):安装

    Galaxy Project( https://galaxyproject.org/)是在云计算背景下诞生的一个生物信息学可视化分析开源项目. 该项目由美国国家科学基金会(NSF).美国国家人类基因组 ...

  10. 搭建私人GPT及域名配置

    前几天在掘金看到一个搭建私人ChatGPT的教程,看起来并不难. 我也有OpenAI的API Key,然后前阵子我看到我的账号余额还有很多,我的api key其实就一个机器人在用,没用多少. 还有,就 ...