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. Python学习——Juptyer Notebook快捷键的使用

    1. 运行当前Cell:Ctrl + Enter 2. 运行当前Cell并在其下方插入一个新的Cell:Alt + Enter 3. 运行当前Cell并选中其下方的Cell:Shift + Enter ...

  2. 计算机网络之MAC和IP地址

    MAC地址 在局域网中,硬件地址,又称为物理地址或MAC地址. 目前现在的局域网中实际上使用的都是6字节的MAC地址,所以每一个以太网设备都具有唯一的MAC地址. MAC地址的格式 假设传输使用的是I ...

  3. Flutter 如何将代码显示到界面上

    前言 如何优雅的将项目中的代码,亦或是你的demo代码展示到界面上?本文对使用简单.便于维护且通用的解决方案,进行相关的对比和探究 为了节省大家的时间,把最终解决方案的相关接入和用法写在前面 预览代码 ...

  4. ai问答:使用 Vue3 组合式API 和 TS 封装 echarts 折线图

    使用这个组件时,只需要传入合适的chartData数组,就可以渲染一个折线图,并且响应数据变化. <template> <div ref="chart" styl ...

  5. React笔记-组件通信(六)

    React笔记-组件通信(六) props概念 props是组件之间通讯的纽带 props也是组件中内置的一个属性 通过父级组件传入 在类组件里 可以直接通过this.props获取 注意: prop ...

  6. 2022-10-22:以下go语言代码输出什么?A:moonfdd1;B:编译错误;C:运行时 panic。 package main import “fmt“ func main() {

    2022-10-22:以下go语言代码输出什么?A:moonfdd1:B:编译错误:C:运行时 panic. package main import "fmt" func main ...

  7. 2022-06-29:x = { a, b, c, d }, y = { e, f, g, h }, x、y两个小数组长度都是4。 如果有: a + e = b + f = c + g = d + h

    2022-06-29:x = { a, b, c, d }, y = { e, f, g, h }, x.y两个小数组长度都是4. 如果有: a + e = b + f = c + g = d + h ...

  8. java.sql.SQLException: The connection property 'useSSL' only accepts values of the form: 'true', 'false', 'yes' or 'no'. The value 'true;' is not in this set.

    错误说明: 数据库连接属性"useSSL"的值只能为'true','false','yes','no',多余的都不行 因此我们要到数据库的连接属性(properties)里找答案 ...

  9. 自己动手写Docker学习笔记

    零.前言 本文为<自己动手写 Docker>的学习,对于各位学习 docker 的同学非常友好,非常建议买一本来学习. 书中有摘录书中的一些知识点,不过限于篇幅,没有全部摘录 (主要也是懒 ...

  10. RIP动态路由协议配置实验

    项目背景 规划与配置接口 IP地址 AR1: [AR1-GigabitEthernet0/0/0]ip address 20.0.1.1 24 [AR1-GigabitEthernet0/0/1]ip ...