当前位置: 首页 > news >正文

Blazor前后端框架Known-V1.2.12

V1.2.12

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

  • Gitee: https://gitee.com/known/Known
  • Github:https://github.com/known/Known

概述

  • 基于C#和Blazor实现的快速开发框架,前后端分离,开箱即用。
  • 跨平台,单页应用,混合桌面应用,Web和桌面共享一处代码。
  • 包含模块、字典、组织、角色、用户、日志、消息、工作流、定时任务等功能。
  • 代码简洁、易扩展,让开发更简单、更快捷!

如果对您有帮助,点击⭐Star⭐关注 ,感谢支持开源!

更新日期

  • 2023-08-06

更新内容

  • 🐛修复登录失败提示信息不显示问题
  • 🐛修复RichText只读模式最大高度及清空问题
  • 🔨优化Tabs和DataGrid自适应布局
  • 🐛修复单页Navigate页面参数报错问题
  • 😄新增GroupBox组件
  • 🔨优化RichText支持图片和视频上传本地/OSS/COS
  • 😄新增PDF预览组件
  • 😄新增打印组件
  • 😄新增正则表达式验证
  • 😄QueryType增加逗号分割批量查询

详细内容

1. GroupBox组件

  • 显示一组表单信息
protected override void BuildRenderTree(RenderTreeBuilder builder)
{builder.Component<GroupBox>().Set(c => c.Title, "基本信息").Set(c => c.ChildContent, BuildBody) //建造组内容.Build();
}

在这里插入图片描述

2. PDF预览组件

  • 基于pdfobject.js实现
//嵌入页面显示PDF
protected override void BuildRenderTree(RenderTreeBuilder builder)
{var stream = FileService.GetPdfStream();builder.Component<PdfView>("pdfView").Set(c => c.Style, "demo-pdf").Set(c => c.Stream, stream).Build();
}
//点击按钮弹窗显示PDF
private void OnShowPDF()
{var stream = FileService.GetPdfStream();UI.ShowPdf("查看PDF", 600, 400, stream);
}

在这里插入图片描述

3. 打印组件

  • 打印自定义表单
  • 调用浏览器打印组件
  • 表单样式需写在组件中
private void OnPrint()
{//PrintForm为打印表单组件UI.Print<PrintForm>(form => form.Set(c => c.IsPrint, true));
}

在这里插入图片描述

4. 正则表达式验证

  • 实体类指定Regex特性
  • 前后端共用验证逻辑
  • 内置常用正则表达式常量RegexPattern
//实体类
public class SysUser : EntityBase
{[Column("固定电话", "", false, "1", "50")][Regex(RegexPattern.Phone, "固定电话格式不正确!")]public string Phone { get; set; }[Column("移动电话", "", false, "1", "50")][Regex(RegexPattern.Mobile, "移动电话格式不正确!")]public string Mobile { get; set; }[Column("电子邮件", "", false, "1", "50")][Regex(RegexPattern.Email, "电子邮件格式不正确!")]public string Email { get; set; }
}
http://www.lryc.cn/news/128405.html

相关文章:

  • bug记录:微信小程序 给button使用all: initial重置样式
  • 【计算机视觉|生成对抗】带条件的对抗网络进行图像到图像的转换(pix2pix)
  • [时序数据库]:InfluxDB进阶
  • uniapp编写微信小程序遇到的坑总结
  • Binary operator ‘*‘ cannot be applied to two ‘Double?‘ operands
  • C#如何打包EXE程序生成setup安装文件
  • 【python实现向日葵控制软件功能】手机远程控制电脑
  • 手机系统录屏怎么录?有什么其他录制方法和注意事项?
  • 记录一个编译TubeTK时的报错:at_check问题
  • k8s v1.27.4二进制部署记录
  • C# API 文档注释规范
  • 分类预测 | Matlab实现基于TSOA-CNN-GRU-Attention的数据分类预测
  • 《深度剖析K8s》学习笔记
  • 神经网络基础-神经网络补充概念-49-adam优化算法
  • Java:正则表达式书写规则及相关案例:检验QQ号码,校验手机号码,邮箱格式,当前时间
  • 图数据库_Neo4j_Centos7.9安装Neo4j社区版3.5.4_基于jdk1.8---Neo4j图数据库工作笔记0011
  • 使用Rust编写的一款使用遗传算法、神经网络、WASM技术的模拟生物进化的程序
  • UE4/UE5 “无法双击打开.uproject 点击无反应“解决
  • 【前端】深入理解CSS定位
  • 【问题】分布式事务的场景下如何保证读写分离的数据一致性
  • 常见的Web安全漏洞有哪些,Web安全漏洞常用测试方法介绍
  • 随机微分方程
  • 下载安装并使用小乌龟TortoiseGit
  • npm ERR!Cannot read properties of null(reading ‘pickAlgorithm’)报错问题解决
  • web前端tips:js继承——组合继承
  • (7)(7.3) 自动任务中的相机控制
  • Python 爬虫小练
  • vue3 事件处理 @click
  • 【第三阶段】kotlin语言使用replace完成加解密操作
  • springBoot是如何实现自动装配的