首页 > 其他分享 >.NET 8 + WPF 企业级工作流系统

.NET 8 + WPF 企业级工作流系统

时间:2024-09-05 10:51:01浏览次数:12  
标签:代码生成 框架 预览 企业级 Prism NET WPF 客户端

前言

推荐一款基于.NET 8、WPF、Prism.DryIoc、MVVM设计模式、Blazor以及MySQL数据库构建的企业级工作流系统的WPF客户端框架-AIStudio.Wpf.AClient 6.0。

项目介绍

框架采用了 Prism 框架来实现 MVVM 模式,不仅简化了 MVVM 的典型应用场景,还充分利用了依赖注入(DI)、消息传递以及容器管理的优势。

网上有很多标准的MVVM的使用方法,但是没有形成一个系统级的框架。本框架从登录到具体业务的使用,还有自动升级都搭建完成。

后端使用ASP.NET Core,采用的是AIStudio.Blazor.App的框架(与BS使用相同后台)。

另外框架还引入了面向切面编程(AOP)和模型关联映射(MAP)等高级特性,进一步增强了系统的扩展性和灵活性。

功能模块

1、自动更新软件。

2、使用 Prism.DryIoc 而非 Prism.Unity。

3、用 Prism 实现 AvalonDock 步骤。

4、通过 AOP 记录日志。

5、代码生成器的设计思路。

6、工作流实现策略(含编辑器和后端)。

7、创建自定义安装界面的安装包方法。

8、本地服务启动方法。

9、通用 CRUD 配置,无需定义类,直接在数据库中添加数据。

10、实现拖拽编程。

11、与BS(blazor)使用相同的结构模式,如果BS与CS进行代码统一。

12、Prism 区域窗口多开与区域注册隔离实现。

快速预览

WPF客户端下载可以直接运行,默认配置文件 AIStudio.Wpf.Client.exe.Config

<appSettings>
    <add key="Title" value="AIStudio" />
    <add key="Language" value="中文" />
    <add key="FontSize" value="16" />
    <add key="FontFamily" value="宋体" />
    <add key="Accent" value="BlueGray" />
    <add key="Theme" value="BaseGray11" />
    <add key="NavigationLocation" value="Left" />
    <add key="NavigationAccent" value="Dark" />
    <add key="TitleAccent" value="Normal" />
    <add key="ToolBarLocation" value="Top" />
    <add key="Version" value="1.0.20201115-rc3" />
    <add key="ServerIP" value="http://localhost:5000/" />
    <add key="UpdateAddress" value="http://localhost:5000//update" />
 </appSettings>

1、快速预览方式1

其中ServerIP就是后台接口地址。

账号密码:Admin,Admin。

2、快速预览方式2

不需要服务器,客户端直接使用SQLite本地数据,客户端独立运行。

账号密码Admin, Admin

<add key="ServerIP" value=""/> 
<add key="UpdateAddress" value="http://localhost:5000/Update/AutoUpdater.xml"/>
<add key="ConString" value="Data Source=Admin.db"/>
<add key="DatabaseType" value="SQLite"/>
<add key="DeleteMode" value="Logic"/>

注释掉ServerIP,那么是使用efcore获取数据,改变ConString和DatabaseType即可。另外,默认数据库删除模式为软删除。

3、快速预览方式3

启动ServiceMonitor,点击启动服务,待本地服务启动后,可运行客户端进行连接。

<add key="ServerIP" value="http://localhost:5000" />

快速预览方式可直接在登录界面进行切换。

项目框架

6.0的框架如下

系统扩展 :如果需要扩展自己的页面,只需要按照这个工程的目录进行扩展即可。

项目功能

1、快速代码生成

在数据库添加新表。

选择代码生成菜单,选中查询回来的新表,区域为你所加界面的工程,比如默认值Base_Manage,将把页面加到AIStudio.Wpf.Base_Manage工程下。

点击生成即可,重新启动客户端即可快速预览(前提是服务端也用代码生成器生成(在web端的代码生成器)了相应的控制器与接口)

2、大屏界面(可拖拽,可全屏)

3、Form 表单

表单-代码生成,是代码生成器的一种补充。

4、通用crud方法

读取数据库配置,生成DataGrid,完全不需要类,后台完成相关接口,前台不需要更改任何代码,只需要在数据库插入脚本即可。

根据类直接生成DataGrid

5、大文件上传与下载

6、多窗口、多屏模式

项目地址

Github:https://github.com/akwkevin/aistudio.-wpf.-aclient

Gitee: https://gitee.com/akwkevin/aistudio.-wpf.-aclient

控件库: https://gitee.com/akwkevin/AI-wpf-controls

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

标签:代码生成,框架,预览,企业级,Prism,NET,WPF,客户端
From: https://www.cnblogs.com/1312mn/p/18395595

相关文章

  • 神经网络之卷积篇:详解卷积神经网络示例(Convolutional neural network example)
    详解卷积神经网络示例假设,有一张大小为32×32×3的输入图片,这是一张RGB模式的图片,想做手写体数字识别。32×32×3的RGB图片中含有某个数字,比如7,想识别它是从0-9这10个数字中的哪一个,构建一个神经网络来实现这个功能。用的这个网络模型和经典网络LeNet-5非常相似,灵感也来源于此......
  • DevExpress WPF中文教程:如何解决排序、过滤遇到的常见问题?(一)
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • 企业级无侵入式DNS方案
    https://blog.csdn.net/qq_36996635/article/details/126062991首先,应用ServiceA通过DNS查询获取到ServiceB的可用IP列表DNS-F会拦截到ServiceA的查询请求,判断自己是否该查询的答案,如果有(服务已在VIPServer中注册)则直接返回IP列表;如果查询的服务在VIPServer中没有注册,DNS-F把......
  • 解决在.net8 WebAPI中 AOP 使用AbstractInterceptorAttribute
    在网上找了许多例子但是放在.net8就不好使了比如在Program中配置IInterceptor或者 services.ConfigureDynamicProxy,网上说的对但是也不全对//通过单元测试(MSTest)//创建IServiceCollectionIServiceCollectionservices=newServiceCollection(); 是能调用Abstr......
  • .NET 网络唤醒
    本文介绍下电脑设备关机的情况下如何通过网络唤醒设备,之前电源S状态 计算机Power电源状态-唐宋元明清2188-博客园(cnblogs.com) 有介绍过远程唤醒设备,后面这俩天了解多了点所以单独加个随笔设备关机的情况下,使用网络唤醒的前提条件:1.被唤醒设备需要支持这WakeOnLine首......
  • Profinet转EtherCAT协议转换网关(推荐收藏哦)
    在工业自动化领域,Profinet转EtherCAT两种网络协议的互通互联备受关注。其实有一款很不错的设备名为远创智控YC-PN-ECT,可以轻松解决这一问题。接下来作者从这款设备的主要功能、技术参数、性能优势及配置方法等方面深入阐述。这款网关性能优越,能够高效转换不同协议,为用户带来便......
  • PointNet++改进策略 :模块改进 | PAConv,位置自适应卷积提升精度
    题目:PAConv:PositionAdaptiveConvolutionwithDynamicKernelAssemblingonPointClouds来源:CVPR2021机构:香港大学论文:https://arxiv.org/abs/2103.14635代码:https://github.com/CVMI-Lab/PAConv前言PAConv,全称为位置自适应卷积(PositionAdaptiveConvolution),是一种......
  • log4net
    建表CREATETABLE[dbo].[LogDetails]([LogID]intNOTNULLIDENTITY(1,1),[LogDate]datetimeNOTNULL,[LogThread]nvarchar(100)NOTNULL,[LogLevel]nvarchar(200)NOTNULL,[LogLogger]nvarchar(500)NOTNULL,[LogMessage]nvarchar(3000)NOTNULL,[Lo......
  • 一个开源、跨平台的.NET UI框架 - Avalonia UI
    前言今天大姚给大家分享一个开源、免费(MITLicense)、跨平台的.NETUI框架:AvaloniaUI。Avalonia是一个成熟稳定的平台,用于构建桌面、嵌入式、移动的和Web应用程序。一个代码库,无限可能!!!项目介绍Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使......
  • 面试官问Netty
    1.介绍一下自己对Netty的认识吧2.那你在说说为什么要用Netty?3.那你在通俗地说一下Netty可以做什么事情?4.Netty核心组件了解吗?分别有什么作用?5.在说说Netty有几种线程模型吧?6.你说一下对于这三种线程Reactor模型的理解? Netty组成部分?1.网络通信层: bootstrap:负责客户......