.NET 平台 WPF 通用权限开发框架 (ABP)

前言

对于大多数.NET后端开发者而言,ABP框架已经相当熟悉,可以轻松进行二次开发,无需重复实现用户角色管理、权限控制、组织管理和多租户等功能。

然而,ABP框架主要专注于Web应用,对于桌面端和移动设备的支持较为有限。因此,对于有桌面或移动开发需求的开发者来说,可能需要寻找其他解决方案。

给大家推荐一款基于ABP商业版全面开发的WPF框架,它实现了ABP商业版的所有功能,并提供了WPF及Xamarin.Forms版本,支持完整的跨平台应用开发。

框架介绍

WPF ABP框架不仅仅是简单地将ABP技术应用于WPF项目,而是全面还原了ABP框架所提供的业务功能,同时在WPF项目中移除了ABP的启动配置、模块系统、依赖注入以及反射加载和自动实体映射等功能。

本项目采用Prism MVVM框架进行重构,UI部分则使用了Syncfusion的WPF组件。

另外,该框架兼容多种UI框架,包括Syncfusion、HandyControl和MaterialDesign。

框架功能

该套框架包含用户和角色管理、组织机构管理、权限管理、多租户支持、本地化多语言、身份认证及授权、审计日志记录、UI主题定制、异常处理机制、数据字典管理和系统设置功能。

框架说明

由于ABP官方尚未提供完整的WPF框架,因此本套框架应运而生,填补了市场空白。如果你是使用ABP框架的开发者,可以毫不费力地将本套系统集成到你们的业务中。

另外,ABP商业版提供的Xamarin.Forms框架较为简陋,因此本套框架也包含了完整的Xamarin.Forms版本。

项目效果

下面通过一些实际运行的截图来展示效果, 包含桌面端(WPF)以及移动端(Xamarin.Forms)效果图。

1、登录页面

包含切换租户、语言切换、修改密码、邮箱激活。

2、系统首页

包含系统菜单、主题切换(深色/浅色主题)、首页数据统计面板。

3、组织机构

维护组织信息, 添加不同的角色和用户。

4、角色管理

维护角色信息, 设定角色权限,根据权限筛选不同的角色。

5、用户管理

管理用户信息, 需改用户权限, 锁定/解锁/删除用户。

6、审计日志

系统的请求日志、错误日志、异常数据、更改日志信息记录。

7、动态属性

设置动态数据, 下拉列表、选择性、多选项等。

8、多租户

维护租户信息

9、语言列表

维护多语言的数据, 修改/设定/维护相关信息

10、设置

包含系统的核心功能的设置, 包含租户、用户、系统安全、邮箱、发票、其它设置。

11、UI组件

包含了一些常用的控件演示

12、系统主题切换

Xamarin.Forms

项目地址

GitHub:https://github.com/HenJigg/wpf-abp

视频演示:https://www.bilibili.com/video/BV1Av4y1w7ds?spm_id_from=333.999.0.0

总结

本文只展示部分功能和内容,如有需求访问项目地址获取详细信息。希望本文能在WPF开发方面为各位提供有益的帮助。期待大家在评论区留言交流,分享您的宝贵经验和建议。

最后

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

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

相关推荐
PfCoder4 小时前
C#中定时器之System.Timers.Timer
c#·.net·visual studio·winform
ahxdyz8 小时前
.NET平台MCP
ai·.net·mcp
の天命喵星人9 小时前
.net 使用NLog记录日志
.net
绿荫阿广10 小时前
将SignalR移植到Esp32—让小智设备无缝连接.NET功能拓展MCP服务
.net·asp.net core·mcp
LcVong15 小时前
WPF MediaPlayer获取网络视频流当前帧并展示图片完整范例
网络·wpf
有来技术15 小时前
ASP.NET Core 权限管理系统(RBAC)设计与实现|vue3-element-admin .NET 后端
vue.js·后端·c#·asp.net·.net
bugcome_com16 小时前
WPF数据绑定入门:从传统事件到5种绑定模式
wpf
云草桑16 小时前
15分钟快速了解 Odoo
数据库·python·docker·postgresql·.net·odoo
Traced back17 小时前
SQL Server数据自动清理系统最终版(C# WinForms完整源码)
数据库·c#·.net
LateFrames17 小时前
我用 WPF 做了一个 “苍蝇飞舞” 的屏保
ui·wpf