67 Star 659 Fork 243

艾竹/AIStudio.Wpf.AClient

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
LGPL-3.0

AIStudio.Wpf.AClient 全新升级 【6.0正式上线,2023-01-02】

AIStudio框架汇总:https://gitee.com/akwkevin/aistudio.-introduce

对应的Plus版本:https://gitee.com/akwkevin/aistudio-wpf-aclient_release

感谢【一位极少露面的靓仔】提供的启动说明文档

写在前面,下载请选择net6-new的分支(推荐使用VS2022,或者VS2019最新版),[历史版本可查看net5-new和net6,别的版本不推荐使用],

原先使用本框架的朋友注意了,后台使用全新框架AIStudio.Blazor.App(C#的BS版本后台同框架)

网上看到一张介绍本框架的图,借用一下。

输入图片说明

本框架包括或后续将实现的内容:

1.自动升级(待部署)

2.采用Prism.DryIoc,而不采用Prism.Unity的原因

3.AvlonDock的Prism实现步骤。

4.使用AOP实现日志记录,AOP还可以帮我们做什么。

5.代码生成器实现的思路。

6.工作流的实现思路(包括工作流编辑器与后台实现)

7.如何制作安装包(可自定义安装界面)。

8.本地服务的启动思路。

9.通用crud配置方法实现,无需定义类,只需要在数据库添加数据即可。

10.拖拽式编程实现。

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

12.Prism区域窗口多开,如何实现区域注册隔离。

使用的控件库地址https://gitee.com/akwkevin/AI-wpf-controls(麻烦大家点个星,谢谢大家)

介绍

Wpf客户端,AIStudio.Wpf.AClient

输入图片说明

软件架构

本框架使用Prism做MVVM,优点咱就不说了,主要了容器注入,消息和DI,比自己写省很多事。网上有很多标准的MVVM的使用方法,但是没有形成一个系统级的框架。本框架从登录到具体业务的使用,还有自动升级都搭建完成,没有大神写的那么好,只是起个抛砖引玉的作用。 后端使用ASP.net core,采用的是AIStudio.Blazor.App的框架(与BS使用相同后台).

其它技术特点:AOP,MAP

快速预览

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

登录账号:Admin,密码:Admin

<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://121.36.12.76:5000/update" />
  </appSettings>

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

输入图片说明

登录界面

快速预览方式可直接在登录界面进行切换。 输入图片说明

框架截图

输入图片说明

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

输入图片说明

protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
{
   var homePageModule = typeof(HomePageModule);
   moduleCatalog.AddModule(new ModuleInfo()
   {
       ModuleName = homePageModule.Name,
       ModuleType = homePageModule.AssemblyQualifiedName,
       InitializationMode = InitializationMode.WhenAvailable
   });

   var base_ManageModule = typeof(Base_ManageModule);
   moduleCatalog.AddModule(new ModuleInfo()
   {
       ModuleName = base_ManageModule.Name,
       ModuleType = base_ManageModule.AssemblyQualifiedName,
       InitializationMode = InitializationMode.WhenAvailable
   });

   //在这里添加你新增的
}

快速代码生成

1.在数据库添加新表。

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

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

输入图片说明

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

输入图片说明

6.0的框架如下,2023-01-02

├─Application
│  ├─AIStudio.Wpf.Business 
│  │  ├─AOP
│  │  ├─Bussiness 
│  │  ├─IBussiness
│  │  ├─ILogger 
│  │  ├─Logger
│  ├─AIStudio.Wpf.Client(启动项目)
│  ├─AIStudio.Wpf.Entity
│  │  ├─DTOModels
│  │  ├─Models
│  ├─api
│  │  └─AIStudio.Wpf.ApiBusiness (向后台请求方法)
├─Common
│  ├─AIStudio.AOP
│  ├─AIStudio.Core
│  ├─AIStudio.DbFactory   (代码生成使用)
│  ├─AIStudio.LocalConfiguration
│  └─AIStudio.Resource
├─Others
│  ├─Dirkster.AvalonDock (主界面Tab控件)
│  │  ├─Accelerider.Extensions   
│  │  ├─AIStudio.Wpf.PrismAvalonExtensions  (Prism扩展)
├─Page
│  ├─AIStudio.Wpf.Agile_Development  (通用crud配置方法实现)
│  ├─AIStudio.Wpf.BasePage (ViewModel的基类)
│  ├─AIStudio.Wpf.Base_Manage (基础管理类)
│  ├─AIStudio.Wpf.Home (主界面)
│  ├─AIStudio.Wpf.LayoutPage (我的控制台)
│  ├─AIStudio.Wpf.OA_Manage (工作流程)
│  └─AIStudio.Wpf.Quartz_Manage (任务管理)
├─ServiceMonitor(本地服务启动)
│  └─ServiceMonitor

3.0新增功能如下,2022-06-01

Form 表单

输入图片说明 排列方式如下: 水平排列:WrapPanel 垂直排列:StackPanel 固定行列:UniformGrid

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

输入图片说明

通用crud方法1:

输入图片说明 根据类直接生成DataGrid

通用crud方法2:

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

大文件上传与下载

输入图片说明 输入图片说明

捐助 如果您觉得我们的开源软件对你有所帮助,请扫下方二维码打赏我们一杯咖啡,开源不易,感谢您的支持。(可以联系我,在下面添加特别鸣谢,谢谢。)

技术交流

个人QQ:80267720 QQ技术交流群1:51286643(已满),QQ技术交流群2:51280970(进群提供服务端的开源代码地址)(如果您还喜欢,帮忙点个星,谢谢) 个人博客:https://www.cnblogs.com/akwkevin/

更多

界面截图请到博客介绍:https://www.cnblogs.com/akwkevin/p/14534441.html

相关介绍文章如下:

管理系统-Wpf客户端框架(OA,聊天,定时任务)3.0发布

1.Wpf客户端生成安装包与自动升级包 - 竹天笑 - 博客园 (cnblogs.com)

1.1搭建Wpf框架(2.1) —— Wpf客户端生成安装包与自动升级包2

2.Wpf实现打印报表 - 竹天笑 - 博客园 (cnblogs.com)

3.Wpf使用EFCore操作数据库 - 竹天笑 - 博客园 (cnblogs.com)

4. 搭建Wpf框架(5) —— Wpf使用unity实现AOP - 竹天笑 - 博客园 (cnblogs.com)

5.搭建Wpf框架(6) —— Tile布局控件(可切换布局) - 竹天笑 - 博客园 (cnblogs.com)

6.搭建Wpf框架(7) —— 我的控制台(续6) - 竹天笑 - 博客园 (cnblogs.com)

7搭建Wpf框架(8) —— 3D展示墙 - 竹天笑 - 博客园 (cnblogs.com)

8搭建Wpf框架(9) —— 登录验证控件 - 竹天笑 - 博客园 (cnblogs.com)

9搭建Wpf框架(10) —— 弹出窗口动画 - 竹天笑 - 博客园 (cnblogs.com)

10.搭建Wpf框架(11) —— 多屏窗口

11.搭建Wpf框架(12) —— MahApps2.0.0.0自定义主题

12.一个Wpf控件库(Wpf客户端框架使用) - 竹天笑 - 博客园 (cnblogs.com)

13.为Wpf敏捷开发做准备-Wpf实现Form表单1 - 竹天笑 - 博客园 (cnblogs.com)

14.为Wpf敏捷开发做准备-Wpf实现Form表单2 - 竹天笑 - 博客园 (cnblogs.com)

15.搭建Wpf框架(13) ——代码生成器的使用 - 竹天笑 - 博客园 (cnblogs.com)

16.搭建Wpf框架(14) ——代码生成器的补充(Form表单的拖拽及生成) - 竹天笑 - 博客园 (cnblogs.com)

17.搭建Wpf框架(15) ——敏捷开发crud界面的设计 - 竹天笑 - 博客园 (cnblogs.com)

18.搭建Wpf框架(16) ——敏捷开发crud界面终极版(通过数据库脚本配置,前台无需修改) - 竹天笑 - 博客园 (cnblogs.com)

19.搭建Wpf框架(17) ——大文件上传与下载 - 竹天笑 - 博客园 (cnblogs.com) (cnblogs.com)

GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library.

简介

Wpf客户端框架,AIStudio.Wpf.AClient6.0,全新优化。 展开 收起
C# 等 3 种语言
LGPL-3.0
取消

发行版 (1)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/akwkevin/aistudio.-wpf.-aclient.git
git@gitee.com:akwkevin/aistudio.-wpf.-aclient.git
akwkevin
aistudio.-wpf.-aclient
AIStudio.Wpf.AClient
net6-new

搜索帮助