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

news2024/9/27 21:22:11

目录

前言

项目介绍

功能模块

快速预览

1、快速预览方式1

2、快速预览方式2

3、快速预览方式3

项目框架

项目功能

1、快速代码生成

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

3、Form 表单

4、通用crud方法

5、大文件上传与下载

6、多窗口、多屏模式

项目地址


前言

推荐一款基于.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:GitHub - akwkevin/aistudio.-wpf.-aclient

Gitee: AIStudio.Wpf.AClient: Wpf客户端框架,AIStudio.Wpf.AClient6.0,全新优化。

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

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习】集成学习的基本概念、Bagging和Boosting的区别以及集成学习方法在python中的运用(含python代码)

引言 集成学习是一种机器学习方法&#xff0c;它通过结合多个基本模型&#xff08;通常称为“弱学习器”&#xff09;来构建一个更加强大或更可靠的模型&#xff08;“强学习器”&#xff09; 文章目录 引言一、集成学习1.1 集成学习的核心思想1.2 常见的集成学习方法1.2.1 Bag…

SpringBoot3 + Spring Security6认证授权

SpringBoot3 Spring Security6 实现默认地址/login的认证 Spring Security 核心技术过滤器。一个web请求会经过一系列的过滤器进行认证授权。 主要是用默认的/login请求&#xff0c;继承UsernamePasswordAuthenticationFilter&#xff0c;来实现用户名和密码登录。 核心流程 …

idea一键自动化部署项目

文章目录 前言一、 IDEA插件安装1. 首先下载 Alibaba Cloud Toolkit 插件2. 插件下载完成后重启IDEA 二、SpringBoot项目准备1. pom.xml 文件2. controller3. 启动类 三、SpringBoot项目jar包部署1. Alibaba Cloud Toolkit 插件服务器配置2. 主机 IP、用户名、密码 点击测试链接…

5月,我面试60多号人,才发现很多人没有这项能力

很多 3~5 年开发经验的&#xff0c;都来自传统行业&#xff0c;所接触的都是一些非常传统的项目&#xff0c;像上面的一些案例场景&#xff0c;根本没碰到过&#xff0c;也不知道如何找到好的解决方案。 交流的过程中&#xff0c;发现这些很基本的问题&#xff0c;他们普遍都答…

Storm计算框架

工作流程 主要组件 streams spouts Bolt Tuple Topology stream grouping

Rust多线程编程概述

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust到底值不值得学&#xff0c;之一 -CSDN博客 Rust到底值不值得学&#xff0c;之二-CSDN博客 12.2 多线程编程概述 12.2.1 线程…

校园洗护新体验:一键尽享便捷小程序功能全解析

校园洗护新体验&#xff1a;一键尽享便捷小程序功能全解析 1. **用户端尊享**&#xff1a;无论是渴望上门取件的便捷&#xff0c;还是偏爱送货至店的从容&#xff0c;乃至寄存网点的灵活&#xff0c;一切由您指尖掌控&#xff0c;尽享个性化服务。 2. **取货员专业视角**&…

云计算国标发布 云轴科技ZStack参编

近日&#xff0c;国家市场监督管理总局、国家标准化管理委员会发布中华人民共和国国家标准公告&#xff08;2024年第17号&#xff09;。上海云轴信息科技有限公司&#xff08;简称云轴科技ZStack&#xff09;参与起草的国家标准GB/T 32399-2024《信息技术 云计算 参考架构》正式…

分类预测|基于CNN提取特征使用支持向量机作为分类器进行分类预测CNN-SVM(SVM自动寻优c,g超参数)CNN和CNN-SVM

分类预测|基于CNN提取特征使用支持向量机作为分类器进行分类预测CNN-SVM&#xff08;SVM自动寻优c&#xff0c;g超参数&#xff09;CNN和CNN-SVM 文章目录 一、基本原理1. 卷积神经网络&#xff08;CNN&#xff09;简介CNN的基本结构 2. 支持向量机&#xff08;SVM&#xff09;…

WPF-快速构建统计表、图表并认识相关框架

一、使用ScottPlot.Wpf 官网地址&#xff1a;https://scottplot.net/quickstart/wpf/ 1、添加NuGet包&#xff1a;ScottPlot.Wpf 2、XAML映射命名空间&#xff1a; xmlns:ScottPlot"clr-namespace:ScottPlot.WPF;assemblyScottPlot.WPF" 3、简单示例&#xff1a;…

当视频编辑完成后,要将视频进行导出,其中mp4是人们常用的视频格式, Camtasia如何导出工程文件

当视频编辑完成后&#xff0c;要将视频进行导出&#xff0c;其中mp4是人们常用的视频格式。如果视频编辑尚未完成&#xff0c;则可以将工程文件暂时保存在电脑中&#xff0c;以便下次打开使用。今天的文章将为大家介绍Camtasia关于保存的相关内容。接下来我将为大家介绍&#x…

数据结构:树与二叉树

1、树的基本概念 1.1树的定义 树是n个结点的有限集。 若n0&#xff0c;称为空树&#xff1b;若n>0称为非空树&#xff0c;非空树有且仅有一个称之为根的结点。 除根结点以外的其余结点可分成m个互不相交的有限集T1,T2,......Tm,每个有限集合本身又是一棵树&#xff0c;并…

CentOS 部署 RocketMQ 详细指南

1. RocketMQ 5.3.0 简介 什么是 RocketMQ&#xff1f; Apache RocketMQ 是一个分布式消息中间件&#xff0c;最初由阿里巴巴开发并开源。它基于发布-订阅&#xff08;Pub-Sub&#xff09;模式&#xff0c;具有高性能、低延迟和高可靠性等特点。RocketMQ 支持大规模消息流处理…

Win11怎么把C盘分成几个盘?

很多Windows11用户会发现&#xff0c;系统默认只给电脑分配了一个C盘&#xff0c;而C盘不仅是系统盘&#xff0c;还是软件的默认安装位置&#xff0c;并且个人数据也是保存在C盘。这种情况下&#xff0c;电脑使用时间久了会遇到一个常见问题&#xff1a;C盘空间不足或是需要将C…

elasticsearch文档Delete By Query API(一)

这里的查询需要使用和Search API&#xff08;后文会讲&#xff09;相同的方式来将查询条件作为query的值传递&#xff0c;当然也可以使用q关键字&#xff0c;例如如下请求&#xff1a; curl -X POST “localhost:9200/twitter/_delete_by_query?pretty&quser:kimchy” -H…

828华为云征文|华为云Flexus X实例docker部署srs6并调优,协议使用webrtc与rtmp

828华为云征文&#xff5c;华为云Flexus X实例docker部署srs6并调优&#xff0c;协议使用webrtc与rtmp 华为云最近正在举办828 B2B企业节&#xff0c;Flexus X实例的促销力度非常大&#xff0c;特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务…

六西格玛项目:从定义问题到控制成果,全程无忧——张驰咨询

什么是六西格玛项目 六西格玛项目是一种旨在通过改善企业质量流程管理&#xff0c;以“零缺陷”的完美商业追求&#xff0c;带动质量大幅提高、成本大幅度降低&#xff0c;最终实现企业财务成效的提升与企业竞争力的突破的管理策略。它由摩托罗拉公司的工程师比尔史密斯于1986…

文心一眼 4.0Turbo 免费领取5天体验卡

注&#xff1a;这个是官方的活动&#xff0c;目的在于用户推广&#xff0c;任何账号点击连接都可以领取&#xff0c;被分享者领取5天&#xff0c;分享者获得3天&#xff0c;上限320天。 官方活动跳转地址如下&#xff1a;​​​​​​点击这里 跳转后登录&#xff0c;完成一次…

浅析前端数据埋点监控:用户行为与性能分析的桥梁

在数字化时代&#xff0c;数据是企业决策的重要依据。前端作为用户与产品交互的第一线&#xff0c;其数据埋点监控不仅能够收集用户行为数据&#xff0c;帮助产品团队洞察用户需求&#xff0c;优化用户体验&#xff0c;还能分析性能数据&#xff0c;确保产品运行的流畅性。 简单…

LLM常见问题(思维链变体部分)

1. 为什么需要思维树 Tree of Thoughts&#xff08;TOT&#xff09;&#xff1f; 对于需要探索或预判战略的复杂任务来说&#xff0c;传统或简单的提示技巧是不够的。ToT 维护着一棵思维树&#xff0c;思维由连贯的语言序列表示&#xff0c;这个序列就是解决问题的中间步骤。使…