wpf 通用權限開發框架 (abp)

wpf 通用權限開發框架 (abp)

對於大部分.net 後端開發者來說, 都比較熟悉目前流行的abp框架, 基於開源的abp框架, 可以自己進行二次開發, 無需重新開發一些基礎功能

最后更新 2022/5/29 上午10:16
痕迹g
预计阅读 5 分钟
分类
課程
标签
.NET C# WPF 開源 net課程

前言

對於大部分.net 後端開發者來說, 都比較熟悉目前流行的 abp 框架, 基於開源的 abp 框架, 可以自己進行二次開發, 無需重新開發一些基礎功能, 例如: 用戶角色管理、權限、組織、多租戶等等。

但是對於 abp 框架來說, 提供給.net 開發者的可選項非常少, 目前也僅僅是提供了基於 web 的解決方案, 對於桌面端以及行動裝置上的解決方案, 可以說是"敷衍了事"。哪怕是商業版的 abp, 提供桌面端和移動端的解決方案仍然只是一個簡陋的架子, 對於有這方面需求的開發者, 它們只能選擇不同的解決方案。

目前大多數.net 開發者開發移動端項目多數是採用一些流行的 web 解決方案, 例如: uniapp、electron、flutter 等等。由於這類的產品本身與 c#就無法兼容,例如共享現有的類庫, 實體、服務等。這也無法體現如今 .net 全部一把梭的理念。

開發歷程

考慮到目前存在許多的客戶端領域開發者, 包括 xamarin.forms 開發者, 所以從 2021 年底開始, 我就計劃著開始開發基於 abp 框架的 wpf 實現以及 xamarin.forms 實現。

這樣, 通過利用現有的技術, 實現了全平台開發的理念, 其中 wpf 與 xamarin.forms 項目, 實現了與後端項目共享 90%以上的類庫代碼, 包含: 模型類、常量、接口、服務等。

截至目前為止, xamarin.forms 與 wpf 還原了 abp 框架 90%以上的業務功能, 包含所有的 ui 重新設計、業務功能實現、完整的 mvvm 設計。

关于 Xamarin.Forms 框架的实现, 参考之前的文章: Xamarin.Forms 5.0 项目实战

wpf abp 框架居間

本次的 wpf abp 框架, 並非是通過 abp 的技術手段實現了 wpf 項目的還原,而是基於 abp 框架提供業務功能進行了完整還原, 在 wpf 項目當中, 移除了 abp 提供的啟動配置、模塊系統、依賴注入及各類的反射加載、自動實體映射模等功能。

該項目則基於大部分 wpf 開發者熟悉的 prism mvvm 框架進行重新開發, ui 則使用 syncfusion wpf 版本。

該套框架包含以下功能:

  • 用戶和角色管理
  • 組織機構
  • 權限管理
  • 多租戶
  • 本地化多語言
  • 身份認證及授權
  • 審計日誌記錄
  • ui 主題
  • 異常處理
  • 數據字典
  • 系統設置

效果預覽

  • 登錄頁
  • 包含切換租戶、語言切換、修改密碼、郵箱激活

  • 首頁

包含系統菜單、主題切換(深色/淺色主題)、首頁數據統計面板

  • 組織機構

維護組織信息, 添加不同的角色和用戶

  • 角色管理

維護角色信息, 設定角色權限,根據權限篩選不同的角色

  • 用戶管理

管理用戶信息, 需改用戶權限, 鎖定/解鎖/刪除用戶

  • 審計日誌

系統的請求日誌、錯誤日誌、異常數據、更改日誌信息記錄

  • 動態屬性

設置動態數據, 下拉列表、選擇性、多選項等。

  • 多租戶

維護租戶信息

  • 版本列表

創建不同的版本,設置收費標準, 到期規則等

  • 語言列表

維護多語言的數據, 修改/設定/維護相關信息

  • 設置

包含系統的核心功能的設置, 包含租戶、用戶、系統安全、郵箱、發票、其他設置

演示 ui 組件

包含了一些常用的控制項演示

  • 多主題切換

如何獲取原始碼?

參與了上次的 xamarin.forms 公益活動的同學, 可以單獨與本人取得聯繫, 可以免費獲取 wpf 版本完整的項目原始碼, 針對 xamarin.forms 以及 wpf 的 abp 框架, 會在後續持續進行優化, 且獲得免費的技術相關諮詢服務。關於上次的 xamarin.forms 公益活動產生的所有收益, 會在近期的捐贈活動進行公示。

針對未參與上次公益活動以及想要獲取原始碼或者進行商業性質的二次開發人員, wpf 版本的 abp 框架完整原始碼費用:499 元,可以單獨與作者(qq:779149549)取得聯繫獲取。

本次 wpf 框架如收益超過 3w 的部分, 將同樣以公益活動的形式進行捐贈, 關於未來的 maui 框架版本, 會在接下來進行移植工作。

視頻教程說明

wpf 版本的項目持續優化的過程中, 同樣會陸續製作相關教程發布在視頻平台中, 大家可以持續關注。

Keep Exploring

延伸阅读

更多文章
同标签 2025/5/27

wpf完成一個危險提醒效果

當我們寫的程式發放出去後,用戶是在進行一些危險操作,我們的軟體應該給一些提醒效果,比如邊框邊緣有紅色,類似與高德地圖那樣子的報警提醒效果

继续阅读
同标签 2025/1/26

wpf 藉助自定義 xml 文件實現國際化

本文詳細居間了在wpf程式中使用自定義xml文件實現國際化的方法,包括安裝必備nuget包、動態獲取語言列表、動態切換語言、在代碼和xaml界面中使用翻譯字符串等內容,同時提供了源碼連結,幫助開發者輕鬆實現wpf應用的國際化。

继续阅读
同标签 2024/12/5

avalonia 國際化之路:resx 資源文件的深度應用與探索

在當今全球化的軟體開發浪潮中,應用的國際化(i18n)與本地化(l10n)顯得尤為重要。avalonia ui 作為一款強大的跨平台 ui 框架,為開發者提供了多種實現國際化的途徑。其中,使用傳統的 resx 資源文件進行國際化處理,不僅兼容了原 winform、wpf、asp.net core 等開發場景下的使用習慣,還藉助一些實用工具和特定的開發流程,讓國際化的實現變得高效且有條理。

继续阅读