欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

聲明式的控件配置方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)與流程

文檔序號(hào):40655993發(fā)布日期:2025-01-10 19:07閱讀:5來源:國(guó)知局
聲明式的控件配置方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)與流程

本發(fā)明涉及前端配置,具體涉及聲明式的控件配置方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)。


背景技術(shù):

1、當(dāng)前web端個(gè)性化、定制化需求越來越多,傳統(tǒng)一次編碼決定頁(yè)面內(nèi)容,在面對(duì)客戶多元需求時(shí)候就會(huì)很被動(dòng)。為了能在產(chǎn)品交付后,通過簡(jiǎn)單的配置修改或是頁(yè)面上的簡(jiǎn)單操作,就能改變頁(yè)面內(nèi)容,當(dāng)前比較主流的做法是使用解釋器+聲明式配置來開發(fā)頁(yè)面。而表單作為前后臺(tái)數(shù)據(jù)交互的重要途徑,以及絕大多數(shù)用戶定制需求的重要來源,應(yīng)用于表單的解釋器+聲明式配置的方案就顯得尤為重要。

2、目前,表單的聲明式配置是基于具體功能逐一進(jìn)行擴(kuò)展設(shè)計(jì),但這種方式主要用于配置表單的屬性,難以實(shí)現(xiàn)復(fù)雜的動(dòng)態(tài)表單,例如難以實(shí)現(xiàn)復(fù)雜規(guī)則下的表單聯(lián)動(dòng)。


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

1、有鑒于此,本發(fā)明提供了一種聲明式的控件配置方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),以能夠利用聲明式配置生成動(dòng)態(tài)表單。

2、第一方面,本發(fā)明提供了一種聲明式的控件配置方法,包括:

3、按照預(yù)先定義的事件結(jié)構(gòu)體,為目標(biāo)控件配置相應(yīng)的目標(biāo)事件結(jié)構(gòu)體;所述事件結(jié)構(gòu)體用于配置與操作事件相對(duì)應(yīng)的動(dòng)作;

4、按照預(yù)先定義的視圖結(jié)構(gòu)體,為所述目標(biāo)控件配置相應(yīng)的目標(biāo)視圖結(jié)構(gòu)體;所述視圖結(jié)構(gòu)體用于配置控件視圖的屬性;

5、響應(yīng)于所述目標(biāo)控件的目標(biāo)操作事件,根據(jù)所述目標(biāo)事件結(jié)構(gòu)體確定與所述目標(biāo)操作事件相對(duì)應(yīng)的目標(biāo)動(dòng)作;

6、根據(jù)所述目標(biāo)動(dòng)作修改所述目標(biāo)視圖結(jié)構(gòu)體中的屬性,和/或,修改其他控件的視圖結(jié)構(gòu)體中的屬性;

7、利用解釋器對(duì)修改后的控件進(jìn)行解析,并展示。

8、在一些可選的實(shí)施方式中,所述事件結(jié)構(gòu)體包括多個(gè)預(yù)先定義的內(nèi)置事件對(duì)象;每個(gè)所述內(nèi)置事件對(duì)象對(duì)應(yīng)不同的操作事件;

9、所述內(nèi)置事件對(duì)象用于配置與操作事件相對(duì)應(yīng)的動(dòng)作,以及執(zhí)行所述動(dòng)作的觸發(fā)條件;

10、所述根據(jù)所述目標(biāo)事件結(jié)構(gòu)體確定與所述目標(biāo)操作事件相對(duì)應(yīng)的目標(biāo)動(dòng)作,包括:

11、確定所述目標(biāo)事件結(jié)構(gòu)體中,與所述目標(biāo)操作事件相對(duì)應(yīng)的目標(biāo)內(nèi)置事件對(duì)象;

12、根據(jù)所述目標(biāo)內(nèi)置事件對(duì)象中匹配的觸發(fā)條件,確定相對(duì)應(yīng)的目標(biāo)動(dòng)作。

13、在一些可選的實(shí)施方式中,所述內(nèi)置事件對(duì)象為二維數(shù)組結(jié)構(gòu);

14、所述內(nèi)置事件對(duì)象的第一維對(duì)應(yīng)于內(nèi)層事件數(shù)組,所述內(nèi)置事件對(duì)象的第二維對(duì)應(yīng)于所述內(nèi)層事件數(shù)組中的內(nèi)層事件元素;所述內(nèi)層事件數(shù)組包括至少一個(gè)互斥的內(nèi)層事件元素,且所述內(nèi)層事件元素包括表示所述觸發(fā)條件的條件項(xiàng)和相對(duì)應(yīng)的動(dòng)作項(xiàng);

15、所述根據(jù)所述目標(biāo)內(nèi)置事件對(duì)象中匹配的觸發(fā)條件,確定相對(duì)應(yīng)的目標(biāo)動(dòng)作,包括:

16、對(duì)所述目標(biāo)內(nèi)置事件對(duì)象第一維的各個(gè)目標(biāo)內(nèi)層事件數(shù)組依次執(zhí)行第一匹配處理,直至遍歷所述目標(biāo)內(nèi)置事件對(duì)象中的目標(biāo)內(nèi)層事件數(shù)組;

17、所述第一匹配處理包括:

18、判斷當(dāng)前狀態(tài)與所述目標(biāo)內(nèi)層事件數(shù)組中內(nèi)層事件元素的觸發(fā)條件是否相匹配;

19、將與所述當(dāng)前狀態(tài)相匹配的觸發(fā)條件所對(duì)應(yīng)的動(dòng)作項(xiàng),作為需要執(zhí)行的目標(biāo)動(dòng)作項(xiàng)。

20、在一些可選的實(shí)施方式中,所述觸發(fā)條件為二維數(shù)組結(jié)構(gòu);

21、所述觸發(fā)條件的第一維對(duì)應(yīng)于執(zhí)行邏輯與的內(nèi)層條件數(shù)組,所述觸發(fā)條件的第二維對(duì)應(yīng)于所述內(nèi)層條件數(shù)組中執(zhí)行邏輯或的內(nèi)層條件元素;所述內(nèi)層條件數(shù)組包括至少一個(gè)內(nèi)層條件元素,且所述內(nèi)層條件元素用于表示判定規(guī)則;

22、所述判斷當(dāng)前狀態(tài)與所述目標(biāo)內(nèi)層事件數(shù)組中內(nèi)層事件元素的觸發(fā)條件是否相匹配,包括:

23、對(duì)于所述目標(biāo)內(nèi)層事件數(shù)組中內(nèi)層事件元素的任意待定觸發(fā)條件,對(duì)所述待定觸發(fā)條件第一維的各個(gè)目標(biāo)內(nèi)層條件數(shù)組均執(zhí)行第二匹配處理,以確定所述當(dāng)前狀態(tài)與所述目標(biāo)內(nèi)層條件數(shù)組是否相匹配;

24、在所述當(dāng)前狀態(tài)與各個(gè)所述目標(biāo)內(nèi)層條件數(shù)組均匹配的情況下,確定所述當(dāng)前狀態(tài)與所述待定觸發(fā)條件相匹配;

25、其中,所述第二匹配處理包括:

26、判斷所述當(dāng)前狀態(tài)是否與所述目標(biāo)內(nèi)層條件數(shù)組中至少一個(gè)內(nèi)層條件元素表示的判定規(guī)則相匹配;

27、在所述當(dāng)前狀態(tài)與所述目標(biāo)內(nèi)層條件數(shù)組中至少一個(gè)內(nèi)層條件元素表示的判定規(guī)則相匹配的情況下,確定所述當(dāng)前狀態(tài)與所述目標(biāo)內(nèi)層條件數(shù)組相匹配。

28、在一些可選的實(shí)施方式中,所述事件結(jié)構(gòu)體還包括初始化事件對(duì)象和/或自定義事件對(duì)象;

29、所述初始化事件對(duì)象用于配置初始化控件時(shí)需要執(zhí)行的動(dòng)作;所述自定義事件對(duì)象用于配置用戶自定義的動(dòng)作;

30、所述根據(jù)所述目標(biāo)事件結(jié)構(gòu)體確定與所述目標(biāo)操作事件相對(duì)應(yīng)的目標(biāo)動(dòng)作,還包括:

31、在初始化所述目標(biāo)控件時(shí),確定所述目標(biāo)事件結(jié)構(gòu)體中相應(yīng)的目標(biāo)初始化事件對(duì)象,并根據(jù)所述目標(biāo)初始化事件對(duì)象中配置的動(dòng)作確定相應(yīng)的目標(biāo)動(dòng)作;

32、在所述目標(biāo)操作事件為用戶自定義操作的情況下,確定所述目標(biāo)事件結(jié)構(gòu)體中,與所述目標(biāo)操作事件相對(duì)應(yīng)的目標(biāo)自定義事件對(duì)象,并根據(jù)所述目標(biāo)自定義事件對(duì)象中配置的動(dòng)作確定相應(yīng)的目標(biāo)動(dòng)作。

33、在一些可選的實(shí)施方式中,所述事件結(jié)構(gòu)體中配置的動(dòng)作,包括:動(dòng)作類型、動(dòng)作值和指向的控件;

34、所述動(dòng)作類型包括事件類型和配置類型;在所述動(dòng)作類型為事件類型的情況下,所述動(dòng)作值包括待執(zhí)行的事件名稱;在所述動(dòng)作類型為配置類型的情況下,所述動(dòng)作值包括待配置的值;

35、所述根據(jù)所述目標(biāo)動(dòng)作修改所述目標(biāo)視圖結(jié)構(gòu)體中的屬性,和/或,修改其他控件的視圖結(jié)構(gòu)體中的屬性,包括:

36、將所述目標(biāo)動(dòng)作指向的控件作為待操作控件;所述待操作控件包括所述目標(biāo)控件和/或其它控件;

37、在所述目標(biāo)動(dòng)作的動(dòng)作類型為事件類型的情況下,確定與所述目標(biāo)動(dòng)作的動(dòng)作值所包含的事件名稱相對(duì)應(yīng)的待執(zhí)行操作事件,并根據(jù)所述待執(zhí)行操作事件控制所述待操作控件執(zhí)行相應(yīng)的動(dòng)作;

38、在所述目標(biāo)動(dòng)作的動(dòng)作類型為配置類型的情況下,為所述待操作控件配置所述目標(biāo)動(dòng)作的動(dòng)作值所包含的待配置的值。

39、在一些可選的實(shí)施方式中,所述為目標(biāo)控件配置相應(yīng)的目標(biāo)事件結(jié)構(gòu)體,包括:

40、按照預(yù)設(shè)的取值模板,為所述目標(biāo)事件結(jié)構(gòu)體設(shè)置相應(yīng)的選項(xiàng)值;所述取值模板包括取值類型和取值路徑。

41、第二方面,本發(fā)明提供了一種聲明式的控件配置裝置,包括:

42、配置模塊,用于按照預(yù)先定義的事件結(jié)構(gòu)體,為目標(biāo)控件配置相應(yīng)的目標(biāo)事件結(jié)構(gòu)體;所述事件結(jié)構(gòu)體用于配置與操作事件相對(duì)應(yīng)的動(dòng)作;按照預(yù)先定義的視圖結(jié)構(gòu)體,為所述目標(biāo)控件配置相應(yīng)的目標(biāo)視圖結(jié)構(gòu)體;所述視圖結(jié)構(gòu)體用于配置控件視圖的屬性;

43、事件響應(yīng)模塊,用于響應(yīng)于所述目標(biāo)控件的目標(biāo)操作事件,根據(jù)所述目標(biāo)事件結(jié)構(gòu)體確定與所述目標(biāo)操作事件相對(duì)應(yīng)的目標(biāo)動(dòng)作;

44、屬性修改模塊,用于根據(jù)所述目標(biāo)動(dòng)作修改所述目標(biāo)視圖結(jié)構(gòu)體中的屬性,和/或,修改其他控件的視圖結(jié)構(gòu)體中的屬性;

45、解析展示模塊,用于利用解釋器對(duì)修改后的控件進(jìn)行解析,并展示。

46、第三方面,本發(fā)明提供了一種計(jì)算機(jī)設(shè)備,包括:存儲(chǔ)器和處理器,存儲(chǔ)器和處理器之間互相通信連接,存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)指令,處理器通過執(zhí)行計(jì)算機(jī)指令,從而執(zhí)行上述第一方面或其對(duì)應(yīng)的任一實(shí)施方式的聲明式的控件配置方法。

47、第四方面,本發(fā)明提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)指令,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行上述第一方面或其對(duì)應(yīng)的任一實(shí)施方式的聲明式的控件配置方法。

48、本發(fā)明將控件的配置抽象為視圖結(jié)構(gòu)體和事件結(jié)構(gòu)體,對(duì)配置進(jìn)行了簡(jiǎn)單的抽象,不僅能夠區(qū)分控件已有的配置,還能夠分離控件的表現(xiàn)和控制,將控件的復(fù)雜聯(lián)動(dòng)等控制統(tǒng)一抽象為通過操作事件修改控件的表現(xiàn),能夠?qū)崿F(xiàn)動(dòng)態(tài)表單等功能;開發(fā)人員可以更靈活地配置控件的表現(xiàn)和控制,符合開發(fā)直覺,能夠覆蓋較多的應(yīng)用場(chǎng)景;并且,結(jié)構(gòu)體也具有較好的可擴(kuò)展性,適合頁(yè)面編排等業(yè)務(wù)場(chǎng)景使用。此外,只需要基于視圖結(jié)構(gòu)體和事件結(jié)構(gòu)體進(jìn)行配置即可,不涉及函數(shù)表達(dá)式,從而不需要代碼注入,能夠保證安全性。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
山东省| 玉田县| 栖霞市| 舟山市| 民和| 灌南县| 彭阳县| 叙永县| 临桂县| 莲花县| 灵丘县| 濮阳县| 福清市| 阳原县| 牙克石市| 平昌县| 鱼台县| 靖宇县| 南宫市| 霍城县| 册亨县| 潍坊市| 蓬溪县| 元氏县| 日照市| 郯城县| 区。| 田东县| 万山特区| 澳门| 吐鲁番市| 淳化县| 木兰县| 靖江市| 平凉市| 台安县| 民权县| 阜南县| 万州区| 胶南市| 余干县|