系统管理
账号、组织、角色、字典、公告、附件、审计日志、租户八个页面,含权限与认证内核——大多数后台开箱就要用它打底。
Known 把系统管理之外的一切重功能都切成独立插件分发:每个插件是一个纯 Razor 类库(RCL),
把 [Menu] / [Service] / [WebApi] / [Table] 写在自己程序集里,
宿主只要 AddKnownXxx() 一行,菜单、路由、服务代理、建表台账随之就位;不引就不占首屏。
六个插件彼此独立,都只依赖核心 Known,可单独引用、单独懒加载。侧栏分组指它在后台导航里落位的位置。
账号、组织、角色、字典、公告、附件、审计日志、租户八个页面,含权限与认证内核——大多数后台开箱就要用它打底。
申请、待办、我的三个页面,加表单设计器、流程设计器与审批引擎:会签 / 或签、并行网关、子流程派生唤醒、节点钩子与真实通知投递。
程序集自动发现、Cron 调度、运行参数配置与多节点分布式执行;管理面走 Web,执行引擎可单拆到 Worker 进程。
微信 / 企业微信 / 钉钉 / 飞书 / 支付宝的消息、扫码登录、回调与交易;浏览器侧只留安全的一半,传输与密钥在 Server。
数据集、设计器、查看器三个页面,加模板序列化、SQL 只读校验与聚合渲染;透视 / 图表 / 套打所见即所得,一键导出与打印。
实体建模管理页与模型设计器,负责把业务模型翻译成运行时 Schema——元数据驱动那一套的可视化入口。
Extension.AddKnownXxx() 内部调 Config.AddModule(assembly),扫描该装配的菜单、服务、接口、实体四类特性,页面与路由随之接入,无需手工登记。
带服务的重插件可从 WASM 首屏清单摘出,进菜单时再下载整包;页面 @inject 的 [WebApi] 服务由包壳现场兜底,页面代码一字不改。Server / 桌面等价 eager、零回归。
插件的 wwwroot/**(样式、脚本、语言包)自动经 _content/{装配} 发布,删插件即删其资源;文案按语言 code 幂等合并,缺译安全回退中文。
业务/示例装配应排在框架插件之后注册,同名服务以最后登记者优先,方便你在不改动插件源码的前提下替换默认实现。
builder.Services.AddKnown(o => o.Id = "MyApp"); // 用到哪个插件,引哪一行;顺序:核心 → 插件 → Web 壳 builder.Services.AddKnownAdmin(); builder.Services.AddKnownFlowForm(); builder.Services.AddKnownReport(); builder.Services.AddKnownJobs(); builder.Services.AddKnownLink(); builder.Services.AddKnownStudio(); builder.Services.AddKnownWeb();
builder.Services.AddKnown(o => o.Id = "MyApp");
// 反射装配、不留 IL AssemblyRef:
// 首屏只下核心壳,进菜单时按需下载整包
builder.Services.AddLazyPlugin("Known.Admin");
builder.Services.AddLazyPlugin("Known.FlowForm");
builder.Services.AddLazyPlugin("Known.Report");
builder.Services.AddKnownWeb();
// WASM 侧配套:
// <BlazorWebAssemblyLazyLoad Include="Known.Admin.dll" />
// Config.UseLazyAssemblyLoader(...)
扫码关注公众号
扫码加入 QQ 群