轻量级任务管理系统框架开发总结

发布时间:2026/9/22 11:11:52
轻量级任务管理系统框架开发总结 Taskon是一个基于ASP.NET Core 8 BlazorAntDesignBlazor打造的一个跨平台、轻量级、适合快速开发的小项目框架。框架仅提供导航、监控面板、日志管理三个基础功能但支持以插件的形式扩展功能与页面。框架原生支持配置的热更新理论上插件修改了配置后只需在监控面板软重启便可应用配置无需重启进程。除AntDesign字体图标外框架还内置MaterialDesign字体图标无需额外配置自动导入直接使用类名即可。更多图标参考MaterialDesign图标库Material Design Icons - Icon Library - Pictogrammersiclassmdi mdi-stop/i实现原理很简单另外注册一个虚拟文件提供程序将字体及样式表文件放到wwwroot目录下并设置为嵌入的资源。// 从磁盘加载静态资源 app.UseStaticFiles(); // 从Taskon程序集加载嵌入的静态资源 app.UseStaticFiles(new StaticFileOptions { FileProvider new ManifestEmbeddedFileProvider(typeof(TaskonApplication).Assembly, wwwroot) });开始新建一个Blazor Server项目修改Main方法为如下public static void Main(string[] args) { var app new TaskonApplication(); var additionalAssemblies [typeof(Program).Assembly]; var pluginType typeof(DataCoHj212Plugin); app.Run(args, additionalAssemblies, pluginType, builder { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { builder.Host.UseWindowsService(); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { builder.Host.UseSystemd(); } }); }其中additionalAssemblies参数用于附加业务程序集指定pluginType以创建插件实例。二次开发开发业务项目时需要实现插件TaskPlugin并使用TaskPluginMetadata描述插件元数据公开接口定义如下public abstract class TaskPlugin { /// summary /// 菜单信息 /// /summary public abstract ListMenuItem Menus { get; } /// summary /// 配置服务依赖 /// /summary /// param nameservices/param public abstract void Install(IServiceCollection services); /// summary /// 获取插件状态 /// /summary public bool IsEnabled { get; } /// summary /// 启动插件 /// /summary public void Start() { OnStarting(); _isEnabled true; } protected abstract void OnStarting(); /// summary /// 停止插件 /// /summary public void Stop() { OnStopping(); _isEnabled false; } protected abstract void OnStopping(); /// summary /// 重启插件 /// /summary public void Restart() { Stop(); Start(); } /// summary /// 获取任务插件的Id /// /summary public string Id _metadata.Id; /// summary /// 创建视图 /// /summary /// param nametitle标题/param /// param namecontent视图组件/param protected void AddView(string title, RenderFragment content) { _views.Add(new ComponentView { Id _views.Count, Title title, Content content }); } }对于业务插件而言需要实现的接口为Install、OnStarting、OnStopping、Menus。框架提供的监控面板页面默认提供启动/停止插件及查看插件信息功能具体的监控页面由插件实现通过AddView方法将页面托管至监控面板。AddView方法可调用多次当插件添加了多个视图时监控面板呈现为多Tab形式。除监控面板以外的页面建议添加为菜单菜单图标仅支持AntDesignBlazor内置图标。示例以下代码定义了一个数据转发插件。[TaskPluginMetadata(DataCo_HJ212, 万维盈创数据转发程序, 从万维盈创数采仪读取数据并通过HJ212协议上传至道农云)] public class DataCoHj212Plugin : TaskPlugin { public override ListMenuItem Menus new() { new MenuItem { Key setting, Title 参数设置, Href /setting, IconType setting } }; public DataCoHj212Plugin() { AddView(实时监控, builder { builder.OpenComponentRealtimeMonitor(0); builder.CloseComponent(); }); } public override void Install(IServiceCollection services) { services.AddSingleton(xxx); } protected override void OnStarting() { // 实现插件启动逻辑 } protected override void OnStopping() { // 实现插件停止逻辑 } }截图

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询