V1.2.9

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

概述

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

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

更新日期

  • 2023-07-20

更新内容

  • 优化登录页面样式,自适应移动端
  • 修复安装页面提示框随机色报错问题
  • 优化样式,边框、大小、主辅颜色等
  • 新增Barcode组件,基于JsBarcode
  • 新增QRCode组件,基于jquery.qrcode
  • 优化组件代码
  • 优化Context后端请求方法,支持非WebApi请求
  • 新增复制到剪切板功能
  • 新增点击按钮添加页签功能
  • 优化用户中心页面布局
  • 新增Cascading扩展方法,组件间级联操作
  • 优化标签页,支持滚动和关闭
  • 修复栏位和高级查询用户设置的问题
  • 列表按钮和查询条件改成弹性布局

详细内容

1. Barcode组件

  • 基于JsBarcode实现
  • 使用H5的Canvas呈现
//默认选项
builder.Component<Barcode>().Id("barcode1")
.Set(c => c.Value, "1234567890")
.Build();
//自定义选项
builder.Component<Barcode>().Id("barcode2")
.Set(c => c.Value, "1234567890")
.Set(c => c.Option, new
{
Height = 50, //高度
DisplayValue = false, //是否显示条码内容
Background = "#f1f1f1", //背景颜色
LineColor = "#4188c8" //线条颜色
})
.Build();

2. QRCode组件

  • 基于jquery.qrcode实现
  • 使用H5的Canvas呈现
//默认选项
builder.Component<QRCode>().Id("qrcode1")
.Set(c => c.Option, new { Text = "1234567890" })
.Build();
//自定义选项
builder.Component<QRCode>().Id("qrcode2")
.Set(c => c.Option, new
{
Text = "1234567890", //二维码内容
Width = 180, //宽度
Height = 180, //高度
Background = "#f1f1f1", //背景颜色
Foreground = "#4188c8" //前景颜色
})
.Build();

3. 复制到剪切板

UI.CopyToClipboard("这里是复制的内容");

4. 点击按钮添加页签功能

  • 页面Body为页签模式
  • 使用Context.Navigate方法添加页签
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
//构建按钮
builder.Button("添加页签", Callback(OnAddTab), StyleType.Primary);
} private void OnAddTab()
{
Context.Navigate<DemoForm1>("表单一", "fa fa-table");
}

5. 用户中心

  • 页面左侧改成用户基本信息
  • 页面右侧改成Tabs布局

6. Cascading扩展方法

  • 该方法可用于父子关系组件联动
class ParentComponent : BaseComponent
{
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
//使用级联将父组件对象this传递给子组件
builder.Cascading(this, b =>
{
b.Div("child", attr => BuildChild1(b));
b.Div("child", attr => BuildChild2(b));
});
} internal void UpdateSomething() {}
} class ChildComponent : BaseComponent
{
//使用CascadingParameter指定父组件实例
[CascadingParameter] private ParentComponent Parent { get; set; } //子组件在任何位置均可访问父组件方法
private void Test()
{
Parent.UpdateSomething();
}
}

7. 标签页

  • 支持左右滚动
  • 支持关闭全部,关闭其他

8. 列表弹性布局

  • 按钮和查询条件支持弹性布局
  • 更改窗体大小自动布局
  • 用户设置列表查询条件自动布局

Blazor前后端框架Known-V1.2.9的更多相关文章

  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 】框架之二 || 后端项目搭建

    前言 至于为什么要搭建.Net Core 平台,这个网上的解释以及铺天盖地,想了想,还是感觉重要的一点,跨平台,嗯!没错,而且比.Net 更容易搭建,速度也更快,所有的包均有Nuget提供,不再像以前 ...

随机推荐

  1. 基于pyinstaller的python打包工具

    以下是软件链接:https://mysecreat.lanzoub.com/iZPGf0swgtbc 软件功能:可以对py文件进行打包,功能基于pyinstaller模块,因此需要安装python环境 ...

  2. ai问答:使用 Vue3 组合式API 和 TS 封装 websocket 断线重连

    这是一个使用 Vue3 组合式 API 和 TS 封装 websocket 的例子 这个组件在 setup 中: 创建了一个 WebSocket 连接 定义了 sendMessage 方法发送消息 监 ...

  3. pycharm eslint should be on a new line

    修改前: "vue/max-attributes-per-line": [2, { "singleline": 10, "multiline" ...

  4. Windows 10 v2022-L.1345 神州网信政府版

    Windows 10 v2022-L.1345 神州网信政府版 Windows 10 神州网信政府版(以下简称CMGE)V2022-L是在 Windows 10 21H2的基础上,根据中国有关法律.法 ...

  5. dockder 学习第一篇

    1 docker安装 1 yum包的更新到最新 yum update 2 安装需要软件包,yum-util [root@localhost ~]# yum install -y yum-utils d ...

  6. OCR -- 文本识别 -- 理论篇

    文本识别的应用场景很多,有文档识别.路标识别.车牌识别.工业编号识别等等,根据实际场景可以把文本识别任务分为两个大类:规则文本识别和不规则文本识别. 规则文本识别:主要指印刷字体.扫描文本等,认为文本 ...

  7. 为 Windows 系统替换优雅的苹果字体

    使用 Windows 的童鞋,大家估计都用惯了默认的微软雅黑字体,字体本身也很不错,但使用久了也该换个别的字体了,换个字体换个心情嘛. 今天给大家推荐一款非常棒的一键更换 Windows 系统字体的软 ...

  8. 曲线艺术编程 coding curves 第七章 抛物线(Parabolas)

    抛物线 Parabolas 原作:Keith Peters https://www.bit-101.com/blog/2022/11/coding-curves/ 译者:池中物王二狗(sheldon) ...

  9. 前端学习C语言 - 第二篇(常量、运算符、控制和循环)

    常量.运算符.控制和循环 前文我们写了第一个 c 语言程序,了解了基本的数据类型.本篇将继续学习:常量.运算符.控制语句和循环语句. 常量 #define 常量 #define是用来定义常量和宏的预处 ...

  10. java调用WebService(未完成)记录篇

    背景: 因工作需要和一个Sap相关系统以WebService的方式进行接口联调,之前仅听过这种技术,但并没有实操过,所以将本次开发相关的踩坑进行记录 通过一个实例来认识webservice 服务端 首 ...