夜雨聆风学习资料网

ARTICLE · 1340029

插件化Blazor全栈框架,.NET开源,自带审批流、报表与AI

插件化Blazor全栈框架,.NET开源,自带审批流、报表与AI

最近挖到一个很有意思的.NET 全栈开源框架Known,它和常规 Blazor 项目写法差别挺大,主打元数据驱动,靠 Schema 描述业务,不用大批量手写 Razor 页面,一套代码同时支持 Web、Wasm、Windows 桌面端,而且没有依赖第三方 UI 组件库。

✨它到底是什么?

Known 是基于 Blazor 搭建的元数据驱动全栈开发框架。

核心思路很简单:用一份 schema.json 描述业务,框架在运行时直接渲染出页面;前后端共用一套接口契约。后台权限管理、审批流、报表、AI 智能体全部做成可插拔模块,按需引用。

开发 CRUD 业务的时候感受最明显:列表、表单、详情、导出这些常规页面,只需要写一份 Schema 配置文件,菜单、数据表、页面全部自动生成,不会自动生成 razor 代码。如果有定制化需求,可以用[Hook]钩子扩展;实体区分两套模型,前后端共用一套接口定义,服务端打上[WebApi]特性,客户端直接用 ServiceProxy 注入调用,不用重复写接口文档和请求代码。

内置的 Known.Admin 模块开箱就带基础后台能力:账号、角色、组织、数据字典、操作审计、附件管理、个人中心。权限控制粒度很细,菜单、按钮、表格列都可以控制显隐;支持多租户,还能配置功能套餐,给不同账套分配可用功能。审批流、报表、定时任务、消息通道是四个独立插件,想用哪个单独加载,不用全部引入。

UI 组件全部自研,一共 120 + 组件,分成 9 大类,自带明暗两套主题、中英文双语。插件加载方式简单,一行Config.AddModule()就能接入;Web 端支持模块懒加载,首屏只加载核心框架,优化加载速度。

框架自带四大设计器:实体建模、页面设计、表单设计、流程设计,属于设计即运行模式,改完配置立刻生效。如果后期业务复杂,不想继续靠 Schema 维护,还可以 Eject 导出成代码,转为传统开发模式。智能体能力也是内置的,顶栏抽屉提供对话界面,支持读取页面上下文、流式输出、会话管理;只抽象IAgentService接口,不绑定任何大模型厂商,对接各家 LLM 都方便。

看一眼能力示例

  • 组件示例:Table 支持合计行、列显隐配置、行内编辑,仓库里自带页面,一次性预览 124 个组件效果
  • 表单设计器:拖拽排版,毫米级网格,页面上排好的样式,直接用于打印,存储内容是运行时 Schema
  • 流程设计器:支持会签、或签、并行网关、子流程、条件分支,满足绝大多数审批场景
  • AI 组件:对话气泡、思维链展示、引用来源、结果卡片等,一共 17 个 AI 相关组件

用到的技术

  • 基础:Blazor,.NET 10.0+
  • 核心驱动:元数据 Schema 引擎,运行时动态渲染页面
  • 宿主:Blazor Server、WebAssembly、WinForms 内嵌 WebView2 桌面端、独立 Worker 任务节点
  • 认证:Cookie 身份认证
  • 数据:示例默认 SQLite,可自行切换数据库
  • 代码示例(三步快速启动)
// Program.cs 注册核心服务 + 客户端代理builder.Services.AddKnown(o => {    o.Id = ”MyApp”;    o.Name = ”我的应用”;});builder.Services.AddKnownClient(o =>    o.BaseAddress = builder.HostEnvironment.BaseAddress + ”api”);
@* _Imports.razor 引入命名空间 *@@using Known@using Known.Components@* 页面布局使用 *@

如果需要完整后端能力,再安装 Known.Core,

增加 AddKnownCore() 和 app.UseKnown(),

标记[WebApi]的方法会自动对外暴露 HTTP 接口。

本地跑起来

git clone https://gitee.com/known/Known.gitcd Known# Web端:托管Wasm + 内置API + SQLitedotnet run --project KnownWeb# Windows桌面端:WebView2内嵌dotnet run --project KnownWin

演示账号:admin /admin123打开之后侧边栏组件示例可以挨个看组件交互;商品中心模块,整套列表、表单、看板全部由 shop.schema.json 渲染,没有手写页面。

工程模块一览

  • Known:核心 RCL 组件库、基础服务、Schema 运行引擎
  • Known.Core:服务端能力,认证授权、WebApi 自动转接口
  • Known.Admin:后台管理模块,租户、账号角色、字典、审计
  • Known.FlowForm:审批流模块,流程引擎 + 流程 / 表单设计器
  • Known.Report:报表模块,数据集、图表、透视、套打导出 Excel
  • Known.Studio:设计器集合,实体、页面、表单设计
  • Known.Link:对接中心,企微、钉钉、飞书、微信支付宝回调收发
  • Known.Jobs:定时任务,[Job]自动扫描,Cron 表达式、失败重试,独立 Worker 运行
  • Known.Cli:命令行工具,脚手架新建项目、出码构建
  • KnownWeb / KnownWasm / KnownWin / KnownWorker:四种宿主项目

适合谁

适合想快速开发后台管理系统、多租户 SaaS、审批业务、带报表的内部系统的.NET 开发者。不想反复写 CRUD、不想堆第三方 UI 库、希望一套代码同时做网页 + 桌面程序的可以试试。Schema 模式前期开发速度很快,后期也支持转成代码维护,灵活性不错。

仓库地址:https://gitee.com/known/Known.git

最后

看到这里辛苦啦  ~如果这份干货帮你打开了新思路,别忘顺手点个 🔥赞~

你的每一份认可,都是我坚持输出优质内容的底气 ✨

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料