基於 XAF Blazor 的規則引擎編輯器

haoxj發表於2024-03-12

開源專案地址:https://gitee.com/lowcodexaf/rules-engine-editor

前言

本專案是基於XAFBlazor的規則引擎編輯器,規則引擎採用的是微軟開源的RulesEngine

RulesEngine專案地址:https://github.com/microsoft/RulesEngine

背景

在軟體開發中,規則引擎扮演著至關重要的角色。它允許開發人員將業務規則從程式碼中分離出來,以便更靈活地管理和調整規則。然而,隨著規則節點數量和複雜性的增加,手動編輯規則變得越來越繁瑣。因此,我決定開發一款規則引擎編輯器。

演示

功能

規則節點

每一個規則是一個節點,使得規則的建立、編輯和管理變得更加簡單明瞭。每個規則節點不僅可以表示一個獨立的規則,還可以容納子規則,形成複雜的規則結構,從而滿足各種業務場景下的需求。

規則關係

規則之間的關係可以靈活地進行定義,支援或與並的邏輯關係,同時子規則的結果決定了父級規則的結果,也就是說如果一個規則包含了子規則,那它返回的結果是子規則的結果,同時忽略它自身的表示式。

規則驗證

編輯器內建了規則驗證,可以對規則進行實時的驗證,並在驗證失敗時及時提供反饋。當規則驗證失敗時,編輯器會在節點的右上角顯示一個紅色圖示,將滑鼠懸停在圖示上,即可檢視詳細的驗證結果,單擊圖示將會彈出一個驗證結果對話方塊。

規則設定

規則的設定可以透過多種方式進行,選單的屬性選單項、雙擊規則節點,它都會彈出一個規則設定對話方塊。

規則操作

包括規則節點的上移、下移、置頂、置底等,還可以對規則節點進行復制,剪下,貼上等操作

導航功能

可以透過平移、縮放、適應內容等操作,自由地調整畫布的顯示,以便更好地檢視和編輯規則。此外,編輯器還提供了MiniMap功能,能夠在畫布上顯示全域性檢視,並支援透過MiniMap對畫布進行平移或縮放,進一步提高了編輯效率。

相關文章