Introduction
WPF Client, AIStudio.Wpf.AClient

Software Architecture
This framework uses Prism for MVVM. We won't go into the advantages, but it mainly uses dependency injection, messaging, and DI, which saves a lot of work compared to writing it yourself. There are many standard MVVM usage patterns available online, but they don't form a system-level framework. This framework covers everything from login to specific business operations, including automatic updates. It may not be as polished as what top developers produce, but it serves as a starting point for others.
The backend uses ASP.NET Core and adopts the Colder.Admin.AntdVue framework, which I highly recommend everyone to check out. I have added some features on top of it.
Web client browsing address (username/password: Admin, Admin):
http://121.36.12.76:5001/
API browsing address: http://121.36.12.76:5000/
The WPF client download can be run directly. The default configuration file is 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://121.36.12.76:5000" />
<add key="UpdateAddress" value="http://121.36.12.76:5000/update" />
</appSettings>
Here, ServerIP is the backend API address. http://121.36.12.76:5000 can be used directly.
Username/password: Admin, Admin. If not connecting to the server, just view the DemoPage. Username/password: LocalUser, LocalUser.
If not connecting to the server, you can also use SQLite local data, allowing the client to run independently. Username/password: Admin, Admin
<add key="ServerIP" value=""/>
<add key="UpdateAddress" value="http://121.36.12.76:5000/Update/AutoUpdater.xml"/>
<add key="ConString" value="Data Source=Admin.db"/>
<add key="DatabaseType" value="SQLite"/>
<add key="DeleteMode" value="Logic"/>
Comment out ServerIP to use EF Core to fetch data. Change ConString and DatabaseType as needed. Additionally, the default database deletion mode is soft delete.
Some Screenshots
Below are some screenshots of the client. The author is still adjusting the project, optimizing the source code and UI aesthetics. Feel free to offer suggestions to the author (includes full RBAC permissions):
System Management
- Login Interface

- Main Window

- User Management

- Role Management

- Permission Management

Message Center
- Internal Messages

Featured Feature: Workflow Management
- Workflow Management

- Initiate Workflow

- Form Management

Technical Exchange with the Author
Author's WeChat: akwkevin
Author's QQ: 80267720
QQ Technical Exchange Group: 51286643 (Join the group to get the open-source server-side code address)
Personal Blog: https://www.cnblogs.com/akwkevin/
Project Repository Address: https://gitee.com/akwkevin/aistudio.-wpf.-aclient
Feel free to follow the author's Gitee account; there are other projects, such as the WPF open-source project: Workflow Canvas:
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
Here are a few screenshots of that project to conclude this article:
- Canvas Editing

- Flowchart

- Logic Diagram
