两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

微前端主從應(yīng)用間的通信方法、電子設(shè)備及存儲(chǔ)介質(zhì)與流程

文檔序號(hào):40607055發(fā)布日期:2025-01-07 20:47閱讀:9來(lái)源:國(guó)知局
微前端主從應(yīng)用間的通信方法、電子設(shè)備及存儲(chǔ)介質(zhì)與流程

本發(fā)明涉及計(jì)算機(jī)應(yīng)用通信,具體地說是一種微前端主從應(yīng)用間的通信方法、電子設(shè)備及存儲(chǔ)介質(zhì)。


背景技術(shù):

1、微前端(micro?frontends)是一種軟件架構(gòu)模式,它借鑒了后端微服務(wù)架構(gòu)的思想,將復(fù)雜單一的前端應(yīng)用拆分為多個(gè)可獨(dú)立開發(fā)、部署和維護(hù)的小型前端應(yīng)用。微前端將大型的前端應(yīng)用拆分為多個(gè)小型、獨(dú)立可部署的前端應(yīng)用,這些小型應(yīng)用可以在同一個(gè)宿主環(huán)境中共存并協(xié)同工作,形成統(tǒng)一的用戶體驗(yàn)。

2、要實(shí)現(xiàn)微前端架構(gòu),主從應(yīng)用(微前端框架主應(yīng)用程序,以下稱為主應(yīng)用;被集成的子應(yīng)用,以下稱為從應(yīng)用)之間的相互通信是要解決的主要問題之一。其中基于iframe的框架是微前端架構(gòu)的實(shí)現(xiàn)方式之一,此種方式下的通信,主從應(yīng)用在同域部署時(shí),從應(yīng)用可以直接訪問主應(yīng)用的上下文,通信沒有什么障礙;但在跨域部署時(shí),主從應(yīng)用之間無(wú)法直接訪問對(duì)方的上下文。目前主要采用原生api消息方式進(jìn)行通信,但該方式屬于單向的消息派發(fā)、監(jiān)聽模式,處理邏輯割裂,且無(wú)法順序獲取響應(yīng);使用原生api消息方式主應(yīng)用無(wú)法向從應(yīng)用提供統(tǒng)一的上下文接口,導(dǎo)致從應(yīng)用處理邏輯復(fù)雜化,融合時(shí)不方便開發(fā)集成。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明的技術(shù)任務(wù)是提供一種微前端主從應(yīng)用間的通信方法、電子設(shè)備及存儲(chǔ)介質(zhì),來(lái)解決基于iframe實(shí)現(xiàn)的微前端架構(gòu),在跨域情況下從應(yīng)用無(wú)法調(diào)用主應(yīng)用提供的接口獲取用戶、權(quán)限等上下文信息的問題。

2、本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,一種微前端主從應(yīng)用間的通信方法,該方法是基于web原生api和promise標(biāo)準(zhǔn)對(duì)象,通過在主應(yīng)用和從應(yīng)用之間實(shí)現(xiàn)一個(gè)包含握手、信息驗(yàn)證、雙向通信、結(jié)束連接的通信模型,從而實(shí)現(xiàn)微前端架構(gòu)下主從應(yīng)用間的安全通信;具體如下:

3、定義雙方通信的報(bào)文結(jié)構(gòu),作為主從應(yīng)用間通信的基礎(chǔ);

4、定義通信報(bào)文的驗(yàn)證規(guī)則:對(duì)主從應(yīng)用接收到的報(bào)文數(shù)據(jù)進(jìn)行驗(yàn)證,保證主從應(yīng)用雙方通信安全;

5、分別封裝主應(yīng)用和從應(yīng)用向?qū)Ψ教峁┑慕涌趯?duì)象,接口對(duì)象內(nèi)包含供對(duì)方直接調(diào)用的函數(shù)接口;

6、當(dāng)主應(yīng)用成功過加載從應(yīng)用實(shí)例后,主應(yīng)用和從應(yīng)用之間通過握手創(chuàng)建連接,確保主應(yīng)用和從應(yīng)用二者之間正常通信;

7、主應(yīng)用和從應(yīng)用之間的雙向通信傳輸;

8、用戶對(duì)從應(yīng)用訪問結(jié)束,主應(yīng)用斷開與從應(yīng)用之間的通信連接,在微前端框架內(nèi)卸載從應(yīng)用,回收所分配的資源。

9、作為優(yōu)選,函數(shù)接口分為請(qǐng)求類函數(shù)接口和通知類函數(shù)接口;其中,請(qǐng)求類函數(shù)的調(diào)用方法獲取函數(shù)處理后的響應(yīng)數(shù)據(jù)。

10、作為優(yōu)選,雙方通信的報(bào)文結(jié)構(gòu)具體如下:

11、消息類型:用于指定本次通信的目的和作用;

12、報(bào)文格式:為通信模型指定專門的報(bào)文格式標(biāo)識(shí),用于區(qū)別是否為可接收的報(bào)文數(shù)據(jù);

13、消息標(biāo)識(shí):為一次完整通信指定的唯一id,用于界定同一次請(qǐng)求和響應(yīng)消息數(shù)據(jù);

14、報(bào)文數(shù)據(jù):雙方通信攜帶的具體業(yè)務(wù)數(shù)據(jù)。

15、作為優(yōu)選,驗(yàn)證規(guī)則具體如下:

16、檢查原生api的origin參數(shù),驗(yàn)證消息源是否合法;

17、驗(yàn)證消息是否有報(bào)文消息體;

18、驗(yàn)證報(bào)文的格式是否合法;

19、驗(yàn)證報(bào)文是否有類型字段,且類型是否合法;

20、對(duì)于響應(yīng)的報(bào)文數(shù)據(jù),驗(yàn)證是否來(lái)自同一請(qǐng)求。

21、作為優(yōu)選,分別封裝主應(yīng)用和從應(yīng)用向?qū)Ψ教峁┑慕涌趯?duì)象,接口對(duì)象內(nèi)包含供對(duì)方直接調(diào)用的函數(shù)接口具體如下:

22、對(duì)于主應(yīng)用提供的接口對(duì)象,向從應(yīng)用提供包括獲取當(dāng)前用戶信息和用戶功能權(quán)限的函數(shù)接口以及根據(jù)業(yè)務(wù)需要提供的其它可供從應(yīng)用直接訪問的函數(shù)接口;

23、對(duì)于從應(yīng)用提供的接口對(duì)象,向主應(yīng)用提供應(yīng)用失活、應(yīng)用卸載函數(shù)接口,用于主應(yīng)用根據(jù)需要告知從應(yīng)用,是暫存當(dāng)前狀態(tài)數(shù)據(jù)備用還是主應(yīng)用需要斷開和從應(yīng)用的連接,回收分配的資源的處理;其中,接口對(duì)象根據(jù)業(yè)務(wù)需要提供其它可供主應(yīng)用直接訪問的函數(shù)接口。

24、作為優(yōu)選,當(dāng)主應(yīng)用成功過加載從應(yīng)用實(shí)例后,主應(yīng)用和從應(yīng)用之間通過握手創(chuàng)建連接具體如下:

25、從應(yīng)用做向主應(yīng)用發(fā)送握手消息的準(zhǔn)備:在微前端架構(gòu)下,從應(yīng)用是由主應(yīng)用接入,在從應(yīng)用開啟生命周期時(shí),主應(yīng)用已經(jīng)處于活動(dòng)狀態(tài),保證握手消息抵達(dá)接收方時(shí)可有效簽收;再者主從應(yīng)用之間通信的一個(gè)主要應(yīng)用場(chǎng)景,即從應(yīng)用在初始化時(shí)需要從主應(yīng)用獲取用戶信息及鑒權(quán)信息的上下文數(shù)據(jù),因此握手消息由從應(yīng)用發(fā)起;從應(yīng)用做向主應(yīng)用發(fā)送握手消息的準(zhǔn)備工作包括創(chuàng)建promise實(shí)例和監(jiān)聽主應(yīng)用的握手應(yīng)答消息,promise實(shí)例的作用是在成功接收到主應(yīng)用的握手應(yīng)答消息后,收斂發(fā)送和監(jiān)聽的處理過程到一起,以向從應(yīng)用上下文返回主應(yīng)用的接口對(duì)象,從而順序化的處理業(yè)務(wù)流程;

26、主應(yīng)用做接收握手消息的準(zhǔn)備:主應(yīng)用的準(zhǔn)備工作包括創(chuàng)建promise實(shí)例和監(jiān)聽來(lái)自從應(yīng)用的握手消息,并創(chuàng)建promise實(shí)例用于在接收到握手消息后,收斂監(jiān)聽的處理過程;

27、從應(yīng)用向主應(yīng)用發(fā)送握手消息:將預(yù)定義的握手消息報(bào)文結(jié)構(gòu)發(fā)送至主應(yīng)用,并等待主應(yīng)用的握手應(yīng)答消息;

28、主應(yīng)用向從應(yīng)用發(fā)送握手應(yīng)答消息:主應(yīng)用接收到來(lái)自從應(yīng)用的握手消息后,向從應(yīng)用發(fā)送握手應(yīng)答報(bào)文消息,并存儲(chǔ)從應(yīng)用實(shí)例的信息和狀態(tài)記錄,再向主應(yīng)用上下文返回從應(yīng)用提供的接口對(duì)象;

29、從應(yīng)用接收到主應(yīng)用的應(yīng)答消息后,通過promise實(shí)例的fulfilled狀態(tài)向從應(yīng)用上下文返回主應(yīng)用接口對(duì)象。

30、更優(yōu)地,主應(yīng)用和從應(yīng)用之間的雙向通信傳輸具體如下:

31、實(shí)現(xiàn)上下文函數(shù)接口訪問:包括從應(yīng)用調(diào)用主應(yīng)用提供的函數(shù)接口;

32、從應(yīng)用向主應(yīng)用方向通信:訪問主應(yīng)用提供的接口對(duì)象內(nèi)的函數(shù),比如從應(yīng)用加載完畢初始化時(shí),要從主應(yīng)用獲取當(dāng)前登錄用戶訪問服務(wù)接口的token以及當(dāng)前用戶可以訪問哪些業(yè)務(wù)模塊,從應(yīng)用獲取返回的結(jié)果后,進(jìn)一步處理后續(xù)的業(yè)務(wù)邏輯;

33、主應(yīng)用向從應(yīng)用方向通信:直接訪問從應(yīng)用提供的接口對(duì)象內(nèi)的函數(shù),比如獲取從應(yīng)用當(dāng)前的活動(dòng)信息合狀態(tài)數(shù)據(jù)等,用于在微前端框架下控制各從應(yīng)用之間的路由訪問和狀態(tài)切換等操作。

34、更優(yōu)地,從應(yīng)用調(diào)用主應(yīng)用提供的函數(shù)接口具體如下:

35、從應(yīng)用調(diào)用主應(yīng)用接口對(duì)象提供的函數(shù)接口,并向主應(yīng)用發(fā)送“函數(shù)請(qǐng)求”類型標(biāo)識(shí)的報(bào)文消息,發(fā)送的報(bào)文中同時(shí)連帶唯一標(biāo)識(shí),用于在需要接收響應(yīng)結(jié)果時(shí)進(jìn)行識(shí)別驗(yàn)證;

36、主應(yīng)用接收到對(duì)應(yīng)“函數(shù)請(qǐng)求”類型的消息后,首先按照定義的驗(yàn)證規(guī)則對(duì)消息進(jìn)行驗(yàn)證;

37、驗(yàn)證通過后,主應(yīng)用進(jìn)一步的驗(yàn)證是否存在該函數(shù)接口:

38、若存在,則執(zhí)行對(duì)應(yīng)的函數(shù)處理邏輯;

39、若對(duì)應(yīng)函數(shù)定義為無(wú)需返回結(jié)果,則對(duì)應(yīng)接口調(diào)用結(jié)束;

40、否則主應(yīng)用應(yīng)該將結(jié)果狀態(tài)或結(jié)果數(shù)據(jù),連同請(qǐng)求報(bào)文中的消息唯一標(biāo)識(shí)一起,向從應(yīng)用發(fā)送“函數(shù)響應(yīng)”類型的消息;

41、從應(yīng)用若需要關(guān)注函數(shù)執(zhí)行結(jié)果,則從應(yīng)用需要監(jiān)聽主應(yīng)用發(fā)送的“函數(shù)響應(yīng)”類型的消息,從應(yīng)用執(zhí)行函數(shù)接口等待執(zhí)行結(jié)果的過程為一異步請(qǐng)求應(yīng)答過程,是在promise實(shí)例中進(jìn)行,函數(shù)最后的執(zhí)行結(jié)果即是通過promise實(shí)例的fulfilled狀態(tài)下返回的響應(yīng)結(jié)果。

42、一種電子設(shè)備,包括:存儲(chǔ)器和至少一個(gè)處理器;

43、其中,所述存儲(chǔ)器上存儲(chǔ)有計(jì)算機(jī)程序;

44、所述至少一個(gè)處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)程序,使得所述至少一個(gè)處理器執(zhí)行如上述的微前端主從應(yīng)用間的通信方法。

45、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序可被處理器執(zhí)行以實(shí)現(xiàn)如上述的微前端主從應(yīng)用間的通信方法。

46、本發(fā)明的微前端主從應(yīng)用間的通信方法、電子設(shè)備及存儲(chǔ)介質(zhì)具有以下優(yōu)點(diǎn):

47、(一)本發(fā)明可以在跨域的微前端主從應(yīng)用間安全的進(jìn)行雙向通信,獲取響應(yīng)結(jié)果;采用本發(fā)明實(shí)現(xiàn)的微前端框架,通過訪問主從應(yīng)用返回的接口對(duì)象,可以實(shí)現(xiàn)順序執(zhí)行異步操作的效果,避免直接使用原生api監(jiān)聽模式下的處理邏輯的割裂,從而更優(yōu)雅的實(shí)現(xiàn)主從應(yīng)用之間的集成操作;

48、(二)本發(fā)明基于web原生的postmessage?api和promise標(biāo)準(zhǔn)對(duì)象,在從應(yīng)用加載完畢初始化時(shí),向主應(yīng)用發(fā)送握手請(qǐng)求,主應(yīng)用收到握手請(qǐng)求后,保存子應(yīng)用信息記錄并向從應(yīng)用發(fā)送握手響應(yīng),從應(yīng)用接收到握手答復(fù)后雙方建立通信連接;通信連接建立后,主應(yīng)用和從應(yīng)用分別獲取到對(duì)方提供的上下文接口對(duì)象,上下文接口對(duì)象中的函數(shù)接口通過promise實(shí)例收斂接口請(qǐng)求和響應(yīng)時(shí)的處理過程,使請(qǐng)求方順序化的執(zhí)行異步接口的調(diào)用邏輯;主從應(yīng)用通過訪問對(duì)方的函數(shù)接口,方便安全的實(shí)現(xiàn)主應(yīng)用和從應(yīng)用之間的雙向通信傳輸,實(shí)現(xiàn)了微前端框架下一致的接口訪問方式,主從應(yīng)用可以順序化的處理業(yè)務(wù)流程;

49、(三)本發(fā)明通過定義專門的消息報(bào)文結(jié)構(gòu),包括消息類型、報(bào)文格式、消息標(biāo)識(shí)、報(bào)文數(shù)據(jù),在主從應(yīng)用接收到消息報(bào)文后,基于此結(jié)構(gòu)進(jìn)行通信安全邏輯驗(yàn)證;

50、(四)本發(fā)明的主從應(yīng)用是通過雙方建立連接后獲取的接口對(duì)象進(jìn)行通信,二者通過訪問對(duì)象中的函數(shù)接口進(jìn)行數(shù)據(jù)交換,從而實(shí)現(xiàn)二者的雙向通信;

51、(五)本發(fā)明的主從應(yīng)用是通過順序的訪問異步接口,避免了在派發(fā)監(jiān)聽模式下割裂地處理對(duì)應(yīng)的業(yè)務(wù)邏輯。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鹰潭市| 南华县| 汝城县| 德阳市| 新建县| 禄劝| 房产| 平武县| 永泰县| 馆陶县| 绍兴市| 泾阳县| 青岛市| 镇安县| 福州市| 长垣县| 华蓥市| 屏山县| 临汾市| 孟州市| 兴化市| 修水县| 昌邑市| 弋阳县| 湖州市| 德兴市| 吉林市| 南宫市| 莱阳市| 太仆寺旗| 壶关县| 攀枝花市| 纳雍县| 台东市| 芜湖市| 平罗县| 凤凰县| 嵊州市| 临邑县| 图片| 镇坪县|