System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請屬于研發框架,具體涉及一種微前端的單向數據通信方法、裝置、設備及存儲介質。
技術介紹
1、隨著項目的推進,參與開發、維護和運營的人員數量會逐漸增加,而人員的增加和變動可能導致代碼風格、架構理解和維護方式的不一致,增加了項目的復雜性和維護難度。且隨著業務的發展,前端應用需要不斷添加新的功能和特性,這些新增的功能可能會逐漸累積,也會使得原本簡單的應用變得龐大而復雜。當應用變得龐大且復雜時,維護和更新就變得非常困難,任何小的改動都可能影響到其他部分,導致不可預見的錯誤和問題。
2、為了解決前端應用的維護和更新問題,通常使用微前端(micro?frontends)架構將前端應用拆分并解耦,使得每個子應用可以獨立部署單獨維護。微前端是一種前端架構模式,其借鑒了后端微服務架構的思想,將復雜單一的前端應用拆分為多個可獨立開發、部署和維護的小型前端應用。微前端的使用提高了前端應用的開發效率、靈活性和可維護性,是應對大型前端項目復雜性的有效解決方案。
3、但是,目前微前端通常采用監聽全局狀態改變的方式實現不同子應用之間的數據同步,但這種方式會導致狀態混亂和狀態池污染的問題,例如,多個子應用可能會同時修改全局狀態,導致狀態混亂,進而引發不可預測的行為和沖突。
技術實現思路
1、本申請實施例的目的在于提出一種微前端的單向數據通信方法、裝置、計算機設備及存儲介質,以解決采用監聽全局狀態改變的方式導致的狀態混亂和狀態池污染的技術問題。
2、為了解決上述技術問題,本申
3、一種微前端的單向數據通信方法,包括:
4、獲取前端業務需求,根據前端業務需求配置對應的子應用,得到第一目標子應用;
5、生成與第一目標子應用適配的數據通信規則,并將數據通信規則封裝到第一目標子應用中,其中,數據通信規則為單向數據通信規則;
6、將完成數據通信規則封裝的第一目標子應用加載到預設的微前端框架中;
7、響應第二目標子應用的數據通信需求,獲取數據通信指令,并將數據通信指令存儲到預設的異步消息隊列;
8、采用異步加載的方式從異步消息隊列中加載數據通信指令,并在預設的狀態池中識別第二目標子應用對應的狀態參數;
9、解析數據通信指令,獲取攜帶的傳遞參數,并基于傳遞參數對第二目標子應用對應的狀態參數進行參數更新。
10、為了解決上述技術問題,本申請實施例還提供一種微前端的單向數據通信裝置,采用了如下所述的技術方案:
11、一種微前端的單向數據通信裝置,包括:
12、子應用配置模塊,用于獲取前端業務需求,根據前端業務需求配置對應的子應用,得到第一目標子應用;
13、通信規則配置模塊,用于生成與第一目標子應用適配的數據通信規則,并將數據通信規則封裝到第一目標子應用中,其中,數據通信規則為單向數據通信規則;
14、子應用加載模塊,用于將完成數據通信規則封裝的第一目標子應用加載到預設的微前端框架中;
15、指令異步存儲模塊,用于響應第二目標子應用的數據通信需求,獲取數據通信指令,并將數據通信指令存儲到預設的異步消息隊列;
16、指令異步加載模塊,用于采用異步加載的方式從異步消息隊列中加載數據通信指令,并在預設的狀態池中識別第二目標子應用對應的狀態參數;
17、狀態參數更新模塊,用于解析數據通信指令,獲取攜帶的傳遞參數,并基于傳遞參數對第二目標子應用對應的狀態參數進行參數更新。
18、為了解決上述技術問題,本申請實施例還提供一種計算機設備,采用了如下所述的技術方案:
19、一種計算機設備,包括存儲器和處理器,所述存儲器中存儲有計算機可讀指令,所述處理器執行所述計算機可讀指令時實現如上述任一項所述的微前端的單向數據通信方法的步驟。
20、為了解決上述技術問題,本申請實施例還提供一種計算機可讀存儲介質,采用了如下所述的技術方案:
21、一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機可讀指令,所述計算機可讀指令被處理器執行時實現如上述中任一項所述的微前端的單向數據通信方法的步驟。
22、與現有技術相比,本申請實施例主要有以下有益效果:
23、本申請公開了一種微前端的單向數據通信方法、裝置、設備及存儲介質,屬于研發框架
首先,根據前端業務需求配置并生成適配的子應用,同時為其封裝單向數據通信規則。然后將子應用加載到微前端框架中,確保子應用能與主應用及其他子應用協同工作。接下來,當微前端框架中的子應用需要通信時,系統會將通信指令存儲在異步消息隊列中,并通過異步加載方式從隊列中取出指令。系統在狀態池中識別目標子應用的狀態參數,解析指令中的傳遞參數,并基于這些參數對目標子應用的狀態進行更新。本申請通過單向數據通信,嚴格控制子應用對主應用狀態池的訪問,避免了子應用隨意修改主應用狀態池而導致的狀態污染問題,子應用只能通過主應用暴露的特定方法操作狀態池,從而減少了溝通和操作成本,提升了數據管理的效率,且子應用與主應用之間的高度解耦,增強了系統的可維護性,并提高了微前端架構下的整體穩定性和擴展性。同時采用異步加載方式來處理各個子應用的數據通信,能夠按需加載處理任務,避免了不必要的性能開銷。
【技術保護點】
1.一種微前端的單向數據通信方法,其特征在于,包括:
2.如權利要求1所述的微前端的單向數據通信方法,其特征在于,所述生成與所述第一目標子應用適配的數據通信規則,并將所述數據通信規則封裝到所述第一目標子應用中的步驟,具體包括:
3.如權利要求2所述的微前端的單向數據通信方法,其特征在于,所述將完成數據通信規則封裝的所述第一目標子應用加載到預設的微前端框架中的步驟,具體包括:
4.如權利要求2所述的微前端的單向數據通信方法,其特征在于,在所述響應第二目標子應用的數據通信需求,獲取數據通信指令,并將所述數據通信指令存儲到預設的異步消息隊列的步驟之前,還包括:
5.如權利要求1所述的微前端的單向數據通信方法,其特征在于,所述解析所述數據通信指令,獲取攜帶的傳遞參數,并基于所述傳遞參數對所述第二目標子應用對應的狀態參數進行參數更新的步驟,具體包括:
6.如權利要求5所述的微前端的單向數據通信方法,其特征在于,所述通信主題參數包括第一通信主題、第二通信主題和第三通信主題,所述通信內容載體參數包括第一內容載體、第二內容載體和第三內容
7.如權利要求6所述的微前端的單向數據通信方法,其特征在于,所述根據所述第二目標子應用的所屬狀態,對所述第二目標子應用對應的狀態參數進行參數更新的步驟,具體包括:
8.一種微前端的單向數據通信裝置,其特征在于,包括:
9.一種計算機設備,其特征在于,包括存儲器和處理器,所述存儲器中存儲有計算機可讀指令,所述處理器執行所述計算機可讀指令時實現如權利要求1至7中任一項所述的微前端的單向數據通信方法的步驟。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機可讀指令,所述計算機可讀指令被處理器執行時實現如權利要求1至7中任一項所述的微前端的單向數據通信方法的步驟。
...【技術特征摘要】
1.一種微前端的單向數據通信方法,其特征在于,包括:
2.如權利要求1所述的微前端的單向數據通信方法,其特征在于,所述生成與所述第一目標子應用適配的數據通信規則,并將所述數據通信規則封裝到所述第一目標子應用中的步驟,具體包括:
3.如權利要求2所述的微前端的單向數據通信方法,其特征在于,所述將完成數據通信規則封裝的所述第一目標子應用加載到預設的微前端框架中的步驟,具體包括:
4.如權利要求2所述的微前端的單向數據通信方法,其特征在于,在所述響應第二目標子應用的數據通信需求,獲取數據通信指令,并將所述數據通信指令存儲到預設的異步消息隊列的步驟之前,還包括:
5.如權利要求1所述的微前端的單向數據通信方法,其特征在于,所述解析所述數據通信指令,獲取攜帶的傳遞參數,并基于所述傳遞參數對所述第二目標子應用對應的狀態參數進行參數更新的步驟,具體包括:
6.如權利要求5所述的微前端的單向數據通信方法,其特征在于...
【專利技術屬性】
技術研發人員:古杰,
申請(專利權)人:平安銀行股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。