Blazor开发框架Known-V2.0.9
V2.0.9
Known是基于Blazor的企业级快速开发框架,低代码,跨平台,开箱即用,一处代码,多处运行。本次版本主要是修复一些BUG和表格页面功能增强。
- 官网:http://known.pumantech.com
- Gitee: https://gitee.com/known/Known
- Github:https://github.com/known/Known
概述
- 基于
C#和Blazor的快速开发框架,开箱即用,跨平台。 - 模块化,单页应用,混合桌面应用,Web和桌面共享一处代码。
UI默认支持AntDesign,可扩展其他UI组件库。- 包含模块、字典、组织、角色、用户、日志、消息、工作流、定时任务等功能。
- 低代码、简洁、易扩展,让开发更简单、更快捷!
特性
- 快速开发:基于
Blazor,在线表单设计,自动生成代码 - 通用权限:内置通用权限模块,只需专注业务功能
- 国际化:提供完备的国际化多语言解决方案
- 抽象
UI:抽象UI层,易扩展,支持Ant Design等 - 最佳实践:低代码,一人多角色,沟通高效,成本最低
C#语言:全量使用C#进行全栈开发
如果对您有帮助,点击Star关注 ,感谢支持开源!
更新日期
- 2024-08-22
更新内容
- 修复DataReader转字典报错问题
- AntBlazor升级至V0.20.2
- 修复实体类表单确定继续主键重复问题
- 修复打开新增表单克隆默认实体只读属性报错问题
- 优化无代码表单界面无法验证和输入字符减少问题
- 添加支持WebApi项目
- 表格排序和默认排序方式设置
- 表格页面添加默认分页大小设置
- 表格查询条件支持默认值
- 分页查询支持数据统计
- 数据字典类别支持修改和删除
- 修复SqlSugar日期查询条件问题
- 优化多语言设置
详细内容
1. 内置功能增强
- 数据字典类别支持修改和删除

2. 表格功能增强
- 表格排序和默认排序方式设置
- 表格页面添加默认分页大小设置

- 表格查询条件支持默认值
//在OnPageInitAsync方法中设置DefaultQuery对象,对象属性为实体类属性
//注意:一定要在await base.OnPageInitAsync();之前设置
protected override async Task OnPageInitAsync()
{
var date = DateTime.Now.ToString("yyyy-MM-dd");
DefaultQuery = new { CreateTime = $"{date}~{date}" };
await base.OnPageInitAsync();
Service = await CreateServiceAsync<ISystemService>();
Table.OnQuery = Service.QueryLogsAsync;
Table.Column(c => c.Type).Template((b, r) => b.Tag(r.Type));
}

- 分页查询支持数据统计,统计支持SQL函数和SQL表达式
//前端,在OnPageInitAsync中设置TopStatis模板,查询数据时根据后端返回结果自动刷新
protected override async Task OnPageInitAsync()
{
await base.OnPageInitAsync();
Service = await CreateServiceAsync<IApplyService>();
Table.FormType = typeof(ApplyForm);
Table.OnQuery = Service.QueryApplysAsync;
Table.TopStatis = this.BuildTree<PagingResult<TbApply>>((b, r) =>
{
var sb = new System.Text.StringBuilder();
sb.Append("<div style=\"padding-left:10px;color:#108ee9;\">");
sb.Append($"总数:<span style=\"font-weight:bold\">{r?.TotalCount}</span>,");
sb.Append($"撤回:<span style=\"font-weight:bold\">{r?.Statis?.GetValue<int>("RevokeCount")}</span>,");
sb.Append($"待审核:<span style=\"font-weight:bold\">{r?.Statis?.GetValue<int>("VerifingCount")}</span>,");
sb.Append($"审核通过:<span style=\"font-weight:bold\">{r?.Statis?.GetValue<int>("PassCount")}</span>,");
sb.Append($"审核退回:<span style=\"font-weight:bold\">{r?.Statis?.GetValue<int>("FailCount")}</span>");
sb.Append("</div>");
b.Markup(sb.ToString());
});
Table.Column(c => c.BizStatus).Template((b, r) => b.Tag(r.BizStatus));
}
//后端,设置查询条件StatisColumns统计栏位属性,支持Function和Expression
internal static Task<PagingResult<TbApply>> QueryApplysAsync(Database db, PagingCriteria criteria)
{
var sql = @"select a.*,b.BizStatus,b.CurrStep,b.CurrBy,b.ApplyBy,b.ApplyTime,b.VerifyBy,b.VerifyTime,b.VerifyNote
from TbApply a,SysFlow b
where a.Id=b.BizId and a.CompNo=@CompNo";
criteria.StatisColumns = [
new StatisColumnInfo { Id = nameof(TbApply.Id), Function = "count" },
new StatisColumnInfo { Id = "RevokeCount", Expression = $"sum(case when BizStatus='{FlowStatus.Revoked}' then 1 else 0 end)" },
new StatisColumnInfo { Id = "VerifingCount", Expression = $"sum(case when BizStatus='{FlowStatus.Verifing}' then 1 else 0 end)" },
new StatisColumnInfo { Id = "PassCount", Expression = $"sum(case when BizStatus='{FlowStatus.VerifyPass}' then 1 else 0 end)" },
new StatisColumnInfo { Id = "FailCount", Expression = $"sum(case when BizStatus='{FlowStatus.VerifyFail}' then 1 else 0 end)" }
];
return db.QueryPageAsync<TbApply>(sql, criteria);
}

3. WebApi项目
- 添加支持WebApi项目,在项目Program中AddKnown和AddKnownCore
builder.Services.AddKnown(info =>
{
info.Id = "API";
info.Type = AppType.WebApi;//App类型设为WebApi
});
builder.Services.AddKnownCore(info =>
{
//数据库连接
info.Connections = [new Known.ConnectionInfo
{
Name = "Default",
DatabaseType = DatabaseType.SQLite,
ProviderType = typeof(Microsoft.Data.Sqlite.SqliteFactory),
ConnectionString = builder.Configuration.GetSection("ConnString").Get<string>()
}];
});
Blazor开发框架Known-V2.0.9的更多相关文章
- 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github
4月28日,已增加多媒体上传及下载API,对应MediaUploadRequest和MediaGetRequest ------------------------------------------ ...
- WXPP QuickFramework V2.0
微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github 用了一个多星期的时间,把微信快速开发框架进行了改进,之前1.0版本针对的是普通订阅号,V2. ...
- Blazor WebAssembly 3.2.0 正式起飞,blazor 适合你吗?
最近blazor更新很快,今天在官方博客上发布了Blazor WebAssembly 3.2.0 RC:https://devblogs.microsoft.com/aspnet/blazor-web ...
- GO 前后端分离开源后台管理系统 Gfast v2.0.4 版发布
更新内容:1.适配插件商城,开发环境从后台直接安装插件功能:2.代码生成细节修复及功能完善(支持生成上传文件.图片及富文本编辑器功能):3.增加swagger接口文档生成:4.更新goframe版本至 ...
- [Android]Android端ORM框架——RapidORM(v2.0)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5626716.html [Android]Android端ORM ...
- JuCheap V2.0响应式后台管理系统模板正式发布beta版本
JuCheap V1.* 查看地址: http://blog.csdn.net/allenwdj/article/details/49155339 经过半年的努力,JuCheap后台通用响应式管理后台 ...
- python gettitle v2.0
#!/usr/bin/env python # coding=utf-8 import threading import requests import Queue import sys import ...
- ".NET Compact Framework v2.0 could not be found."
参考: http://blog.csdn.net/godcyx/article/details/7348431 问题原因: That's a known issue where VS can't di ...
- 【JS】heatmap.js v1.0 到 v2.0,详细总结一下:)
前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这 ...
- 怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块
因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我个人认为,好记性不如多做笔记多反思总结. 1. 前提条件 开发环境已正确配置 工程已解决JUnit依赖关系(pom ...
随机推荐
- Freertos学习:06-任务通知
--- title: rtos-freertos-06-task-notify date: 2020-06-22 15:49:29 categories: tags: - ipc - freertos ...
- 瑞芯微RK3568J如何“调节主频”,实现功耗降低?一文教会您!
RK3568J主频模式说明 为降低RK3568J功耗,提高运行系统健壮性,在产品现场对RK3568J实现主频调节则显得尤为重要. 图 1 RK3568J官方数据手册主频模式描述 normal模式 根据 ...
- 缩小50%,Mini版T3/A40i核心板,让您的设备更小巧!
小尺寸核心板给用户带来何种价值? 创龙科技常收到用户对于小尺寸核心板的需求反馈,尤其在电力数据采集器.电力DTU.电力通讯管理机.运动控制器.工业HMI.工业网关等工业设备中. 小尺寸核心板3大优势将 ...
- 深度长文解析SpringWebFlux响应式框架15个核心组件源码
Spring WebFlux 介绍 Spring WebFlux 是 Spring Framework 5.0 版本引入的一个响应式 Web 框架,它与 Spring MVC 并存,提供了一种全新的编 ...
- Linux 提权-SUID/SGID_2
本文通过 Google 翻译 SUID | SGID Part-2 – Linux Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释 ...
- Simple WPF: S3实现MINIO大文件上传并显示上传进度
最新内容优先发布于个人博客:小虎技术分享站,随后逐步搬运到博客园. 创作不易,如果觉得有用请在Github上为博主点亮一颗小星星吧! 目的 早两天写了一篇S3简单上传文件的小工具,知乎上看到了一个问题 ...
- Solo开发者社区-重新思考云原生应用的开发模式
当前云原生应用的开发模式在 FaaS 环境下存在挑战,本文提出一种开发模式构想:"单体式编程,编译时拆分,分布式执行",旨在简化云应用开发,提升开发效率和应用性能.思路是通过编译器 ...
- Sql Server 按日统计产量
碰到一个这样的需求,需要查询每天的产量,直接 group 是可以分出不同天的产量,但是如果当天没有生产,就会少一条那一天的记录,而不是那一天显示产量为0,这样不方便前端显示曲线. 于是找到下面的办法, ...
- 推荐一枚宝藏Up主,顺便聊聊感想
众所周知,B站是学习网站 最近发现一宝藏Up主,主要做科普,主题包括但不限于:大模型的底层算法.量子计算底层原理和硬件设计,以及其他物理或者自然科学主题,总体偏向于理工科. 值得推荐的理由:Up主对底 ...
- WSS SSL HTTPS之间的关系
ssl: secure socket layer 安全套接层,简单来说是一种加密技术,通过它可以在通信的双方上建立一个安全的通信链路,因此数据交互的双方可以安全地通信,而不用担心数据被窃取:wss: ...