V1.2.8

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

概述

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

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

更新日期

  • 2023-07-15

更新内容

  • 修复VS启动调试打不开Web页面问题
  • 优化框架版本号显示
  • 表单输入行改成flex布局
  • 关于系统页面支持更改版权信息和软件许可
  • Host类名变更为AppHost
  • 新增Tag组件
  • 新增Badge组件
  • 优化Progress,增加样式类型
  • 修复无查询条件页面样式问题
  • ️删除LogService类,改用Logger添加数据库日志
  • ️删除Company,File,Flow,Setting服务类,改用PlatformHelper
  • 新增后台任务查询模块
  • 新增系统附件查询模块

详细内容

1. 关于系统

  • 框架版本号格式变更
  • 支持更改版权信息和软件许可

2. Host类名变更为AppHost类

//在Main方法中添加
AppHost.RunWebApiAsync<App>(Url);

3. Badge/Tag/Progress组件

3.1. Badge

  • 新增Badge组件,支持不同样式
  • 使用builder.Badge(style, text);构建
BuildBadge(builder, StyleType.Default, "10");
BuildBadge(builder, StyleType.Primary, "10");
BuildBadge(builder, StyleType.Success, "10");
BuildBadge(builder, StyleType.Info, "10");
BuildBadge(builder, StyleType.Warning, "10");
BuildBadge(builder, StyleType.Danger, "10"); private static void BuildBadge(RenderTreeBuilder builder, StyleType style, string text)
{
builder.Div("demo-badge", attr =>
{
builder.Text("消息中心");
builder.Badge(style, text);
});
}

3.2. Tag

  • 新增Tag组件,支持不同样式
  • 支持自定义模板
  • 使用builder.Tag(style, text);构建
BuildTag(builder, StyleType.Default, "测试");
BuildTag(builder, StyleType.Primary, "完成");
BuildTag(builder, StyleType.Success, "通过");
BuildTag(builder, StyleType.Info, "进行中");
BuildTag(builder, StyleType.Warning, "警告");
BuildTag(builder, StyleType.Danger, "失败");
//自定义模板
BuildTag(builder, StyleType.Success, b => b.IconName("fa fa-user", "模板")); private static void BuildTag(RenderTreeBuilder builder, StyleType style, string text)
{
builder.Div("demo-tag", attr => builder.Tag(style, text));
} private static void BuildTag(RenderTreeBuilder builder, StyleType style, Action<RenderTreeBuilder> content)
{
builder.Div("demo-tag", attr => builder.Tag(style, content));
}

3.3. Progress

  • Progress支持不同样式
  • 使用builder.Progress(style, width, value);构建
BuildProgress(builder, StyleType.Default, 0.5M);
BuildProgress(builder, StyleType.Primary, 0.35M);
BuildProgress(builder, StyleType.Success, 1);
BuildProgress(builder, StyleType.Info, 0.6M);
BuildProgress(builder, StyleType.Warning, 0.55M);
BuildProgress(builder, StyleType.Danger, 0.8M); private static void BuildProgress(RenderTreeBuilder builder, StyleType style, decimal value)
{
builder.Progress(style, 100, value);
}

4. 后台任务

  • 查询系统所有定时任务运行情况

5. 系统附件

  • 查询系统所有附件信息

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

  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. StringBuilder类用法解析

    一.StringBuilder说明 StringBuilder是一个可变的字符序列.这个类提供了一个与StringBuffer兼容的API,但不保证同步,即StringBuilder不是线程安全的,而 ...

  2. Prism Sample 15-FilteringEvents

    例14演示了怎样事件聚合器怎样发布与接收信息. 例15增加了一个事件的过滤功能,即设定一个条件,符合的才接收. _ea.GetEvent<MessageSentEvent>().Subsc ...

  3. Prism Sample 7 Modules Code

    例7对注册Module使用了配置命令. 见app.xaml.cs: 1 using Modules.Views; 2 using Prism.Ioc; 3 using Prism.Modularity ...

  4. SPSS计算极值、平均值、中位数、方差、偏度、峰度、变异系数

      本文介绍基于SPSS软件的经典统计学分析与偏度.峰度等常用统计学指标的计算方法.   首先需要说明,本文所述数据的经典统计学分析,包括计算数据的极值.平均值.中位数.标准差.方差.变异系数.偏度与 ...

  5. PHP获取网页返回的JSON数据并在微信换行展示

    1 $url ="http://japi.juhe.cn/joke/content/text.from?page=&pagesize=&key=c968d04ab0ea15e ...

  6. Django transaction.atomic 事务的使用

    函数 transaction.atomic 数据库的读写操作中,事务在保证数据的安全性和一致性方面起着关键的作用,而回滚正是这里面的核心操作. 遇到并发的时候常常会因为接口的访问顺序或者其他情况,导致 ...

  7. 2020-12-05:go中,map的扩容流程是什么?

    福哥答案2020-12-05:[答案来自此链接:](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=13) 源码位于runtime/map.go文件中的ha ...

  8. 2021-12-01:给定一个正数数组arr,代表每个人的体重。给定一个正数limit代表船的载重,所有船都是同样的载重量。 每个人的体重都一定不大于船的载重。 要求: 1, 可以1个人单独一搜船;

    2021-12-01:给定一个正数数组arr,代表每个人的体重.给定一个正数limit代表船的载重,所有船都是同样的载重量. 每个人的体重都一定不大于船的载重. 要求: 1, 可以1个人单独一搜船: ...

  9. 2021-08-17:谷歌面试题扩展版,面值为1~N的牌组成一组,每次你从组里等概率的抽出1~N中的一张,下次抽会换一个新的组,有无限组,当累加和<a时,你将一直抽牌,当累加和>=a且<b时,你将获胜

    2021-08-17:谷歌面试题扩展版,面值为1N的牌组成一组,每次你从组里等概率的抽出1N中的一张,下次抽会换一个新的组,有无限组,当累加和<a时,你将一直抽牌,当累加和>=a且< ...

  10. Redis的三种持久化策略及选取建议

    概述 Redis是一个基于内存的高性能的键值型数据库,它支持三种不同的持久化策略:RDB(快照).AOF(追加文件).混合.这三种策略各有优缺点,需要根据不同的场景和需求进行选择和配置.本文将介绍这三 ...