本發明屬于低代碼平臺開發領域,更具體地說,本發明涉及支持代碼導出的跨平臺低代碼開發系統及方法。
背景技術:
1、現有授權公告號為cn115438050b的中國專利公開了分級低代碼開發平臺,包括模塊管理單元和菜單項管理單元,通用查詢管理單元;其中:模塊管理單元用于提供模塊的設計功能,其中,模塊包括功能模塊和表單模塊,還提供為表單模塊設計數據結構的功能,提供開發控件,并基于開發控件通過拖拉方式為表單模塊和功能模塊設計界面的功能,同時還支持自定義腳本的功能;菜單項管理單元用于支持設計菜單項,并配置菜單項的基本信息、數據源sql、菜單項操作類型及其關聯裝配;通用查詢管理單元用于通過記錄列表顯示設計的菜單項和設計的表單模塊。該平臺能夠降低系統復雜度,實現上下級不同的需求,實現低代碼化。
2、現有技術依然存在以下問題:
3、當用戶所設置的業務流程或邏輯過于復雜時,可視化流程圖往往會變得龐大而難以管理;用戶搭建的項目流程可能存在過度冗雜,以及在布局界面中堆積過多邏輯節點的問題,最終導致項目視圖崩潰,影響項目的運行效率。
4、鑒于此,本發明提出支持代碼導出的跨平臺低代碼開發系統及方法以解決上述問題。
技術實現思路
1、為了克服現有技術的上述缺陷,為實現上述目的,本發明提供如下技術方案:支持代碼導出的跨平臺低代碼開發方法,包括:
2、根據預設規則將低代碼平臺中的可視化布局劃分為中心流程區域和r個子流程區域;
3、獲取目標項目的中心結構數據和子級結構數據;
4、基于中心結構數據和子級結構數據,獲取項目的總邏輯復雜度值;
5、獲取目標項目對應的初始流程圖;
6、基于中心結構數據、子級結構數據、總邏輯復雜度值和初始流程圖,輸入至預訓練的流程優化模型,獲取優化后的目標流程圖;
7、將目標流程圖中的目標子流程打包,作為跨項目流程的可復用插件;
8、將目標流程圖對應的項目和可復用插件轉化為dart源代碼文件,輸出對應的多端安裝包。
9、進一步地,所述流程優化模型的獲取方法包括:
10、獲取z組流程數據集,流程數據集包括中心結構數據、子級結構數據、總邏輯復雜度值和初始流程圖和對應的目標流程圖;將流程數據集作為樣本集,將樣本集分割為訓練集和測試集;構建rnn分類器,將訓練集中的中心結構數據、子級結構數據、總邏輯復雜度值和初始流程圖作為流程優化模型的輸入,將訓練集中對應的目標流程圖作為輸出,對分類器進行迭代訓練,獲取初步優化模型;利用測試集對初步優化模型進行測試,若初步優化模型的準確度滿足預設準確度,則將初步優化模型作為流程優化模型;所述初步優化模型為rnn神經網絡模型;z為大于1的正整數。
11、進一步地,所述子流程打包方法包括:
12、步驟1:在編輯器中對復用的子流程區域進行標記,將所述子流程區域標記為“插件化流程”;
13、步驟2:系統將插件化流程打包為獨立管理的插件,并存儲于團隊的公共插件庫;所述插件包括子流程區域對應的子級結構數據和插件描述;所述插件描述包括插件的功能描述、使用場景和版本信息;
14、步驟3:當團隊中的其他項目在需要實現相同功能時,直接從公共插件庫中導入所述插件,在畫布上自動生成對應的子流程結構示意圖;
15、步驟4:當團隊成員協同開發時,對“插件”進行一次性更新,即同步到各個使用所述子流程的項目上,最終集成并導出至多端使用。
16、進一步地,所述中心結構數據為中心流程區域中的量化數據;所述子級結構數據為子流程區域中的量化數據;所述量化數據包括節點數量、連線數量、嵌套層級、使用頻度和跨區依賴;所述目標項目為用戶構建的項目;
17、所述總邏輯復雜度值的獲取方法為:通過量化節點數量、連線數量、嵌套層級、使用頻度和跨區依賴,綜合評估每個區域的邏輯復雜度,從而計算出整個項目的總邏輯復雜度值。
18、進一步地,所述連線數量和所述跨區依賴的獲取方法包括:
19、若連線的起點和終點都在中心流程區域內,則計入中心流程區域的連線數量;
20、若連線的起點和終點都在同一個子流程區域內,則計入子流程區域的連線數量;
21、若連線的起點和終點不在同一個子流程區域內且均不在中心流程區域內,則記為跨區依賴。
22、進一步地,所述嵌套層級的獲取方法包括:
23、低代碼平臺在項目對應的編輯器保存時,對中心流程與子流程各進行一輪dfs,記錄從各自流程對應的初始節點到最深分支的最大層級;每經過一個節點都增加一次嵌套層級的計數。
24、進一步地,所述節點數量的獲取方法包括:
25、在項目加載時,對所有節點進行一次遍歷,檢測節點的唯一標識以及位置;若節點對應的位置處于中心流程區域內,則計入中心流程區域的節點數量;若節點對應的位置在中心流程區域外,則計入子流程區域的節點數量。
26、進一步地,所述初始流程圖為用戶在跨平臺低代碼開發平臺構建的項目視圖;所述初始流程圖通過對用戶當前窗口截屏獲取。
27、進一步地,所述多端安裝包包括android、ios和windows平臺的安裝包;所述dart源代碼文件通過flutter命令行工具獲取。
28、支持代碼導出的跨平臺低代碼開發系統,實施所述支持代碼導出的跨平臺低代碼開發方法,包括:
29、邏輯分層模塊,根據預設規則將低代碼平臺中的可視化布局劃分為中心流程區域和r個子流程區域;
30、數據獲取模塊,用于獲取目標項目的中心結構數據和子級結構數據;
31、邏輯計算模塊,基于中心結構數據和子級結構數據,獲取項目的總邏輯復雜度值;
32、圖片獲取模塊,用于獲取目標項目對應的初始流程圖;
33、流程優化模塊,基于中心結構數據、子級結構數據、總邏輯復雜度值和初始流程圖,輸入至預訓練的流程優化模型,獲取優化后的目標流程圖;
34、團隊擴展模塊,用于將目標流程圖中的目標子流程打包,作為跨項目流程的可復用插件;
35、代碼輸出模塊,用于將目標流程圖對應的項目和可復用插件轉化為dart源代碼文件,輸出對應的多端安裝包。
36、本發明支持代碼導出的跨平臺低代碼開發系統及方法的技術效果和優點:
37、本發明通過獲取項目的中心結構數據和子級結構數據以及總邏輯復雜度值,結合項目對應的初始流程圖,一并輸入至預訓練的流程優化模型,對初始流程圖進行優化,通過從訓練集中學習初始流程圖到目標流程圖的映射,自動化地對流程進行子流程化、節點折疊的優化操作,減輕了用戶在復雜項目中的操作負擔,并提升了自動化生成的目標流程圖的質量,有效提高了對應項目的運行效率。
38、通過對中心流程區域和子流程區域的節點數量、連線數量、跨區依賴、嵌套層級和使用頻度的量化分析,本系統智能地計算復雜度并優化流程圖,減少高耦合度的區域,避免項目視圖“樹枝”式的結構蔓延,提升了流程圖的可讀性;同時,使用頻度的引入使得高使用頻度節點可以優先保持在中心流程區域,有效提升流程的維護性和優化能力。
39、基于flutter框架的支持,本平臺能夠自動生成適配多個平臺(如android、ios和windows)的dart源代碼和安裝包。通過自動化生成代碼,開發者能快速完成跨平臺項目的部署,減少了手動編碼和打包的工作量,顯著提高了項目上線的速度和質量。