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

組件的布局模板的擴(kuò)展方法和裝置與流程

文檔序號(hào):12801631閱讀:343來(lái)源:國(guó)知局
組件的布局模板的擴(kuò)展方法和裝置與流程

本申請(qǐng)涉及,特別涉及一種組件的布局模板的擴(kuò)展方法和裝置。



背景技術(shù):

隨著移動(dòng)業(yè)務(wù)的不斷發(fā)展,移動(dòng)終端中的一個(gè)應(yīng)用程序存在需要支持多個(gè)不同展示類型的業(yè)務(wù),而不同業(yè)務(wù)的布局展示之間的差異性必然導(dǎo)致業(yè)務(wù)模板配置的不同。此外,對(duì)于同一業(yè)務(wù)類型來(lái)說(shuō),可能有一種或者n種業(yè)務(wù)狀態(tài),例如,業(yè)務(wù)開始和業(yè)務(wù)未開始兩種狀態(tài)。而不同的業(yè)務(wù)狀態(tài)對(duì)應(yīng)的展示內(nèi)容也不同,相應(yīng)的業(yè)務(wù)模板的配置也不同。另外,在每次發(fā)布新版,可能會(huì)新增一些組件,而新的模板只能應(yīng)用于新的app(application,應(yīng)用程序)版本,如此會(huì)導(dǎo)致需要為增加新屬性的業(yè)務(wù)類型配置新的模板。

例如:現(xiàn)在上線了9種業(yè)務(wù)類型,每一個(gè)業(yè)務(wù)類型有兩種狀態(tài),那么就需要18份組件化布局模板。若是新發(fā)版之后,為每一個(gè)業(yè)務(wù)類型新增組件,又需要新增18份組件化布局模板。因此,不同的業(yè)務(wù)、商品的不同狀態(tài)以及客戶端支持的不同組件化版本等因素相互交雜在一起,會(huì)導(dǎo)致模板的爆炸性增長(zhǎng)。這就導(dǎo)致了模板的爆炸性的增長(zhǎng),而每一份組件化布局模板,都是有一定的復(fù)雜度的,每一次新增一個(gè)模板和校驗(yàn)?zāi)0宓拇鷥r(jià)都非常高后期維護(hù)管理非常困難。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)旨在至少在一定程度上解決上述技術(shù)問(wèn)題。

為此,本申請(qǐng)的第一個(gè)目的在于提出一種組件的布局模板的擴(kuò)展方法,能夠簡(jiǎn)化布局模板的管理與維護(hù)更新的復(fù)雜度。

本申請(qǐng)的第二個(gè)目的在于提出一種組件的布局模板的擴(kuò)展裝置。

為達(dá)上述目的,根據(jù)本申請(qǐng)第一方面實(shí)施例提出了一種組件的布局模板的擴(kuò)展方法,包括以下步驟:確定待擴(kuò)展組件與已有組件之間的繼承關(guān)系;根據(jù)所述繼承關(guān)系生成所述待擴(kuò)展組件的擴(kuò)展配置信息,其中,所述擴(kuò)展配置信息包括所述已有組件的標(biāo)識(shí)信息、所述繼承關(guān)系和待擴(kuò)展內(nèi)容;根據(jù)所述已有組件的標(biāo)識(shí)信息獲取所述已有組件的布局模版對(duì)象,其中,所述布局模版對(duì)象中配置有所述相應(yīng)組件的至少一個(gè)元素項(xiàng);根據(jù)所述繼承關(guān)系和所述待擴(kuò)展內(nèi)容對(duì)所述布局模板對(duì)象中的元素項(xiàng)進(jìn)行更新,以得到所述待擴(kuò)展組件的布局模版對(duì)象。

本申請(qǐng)實(shí)施例的組件的布局模板的擴(kuò)展方法,根據(jù)待擴(kuò)展組件與已有組件之間的繼承關(guān)系生成待擴(kuò)展組件的擴(kuò)展配置信息,并根據(jù)該擴(kuò)展配置信息對(duì)已有組件的布局模版對(duì)象中的元素項(xiàng)進(jìn)行更新以得到待擴(kuò)展組件的布局模版對(duì)象。本申請(qǐng)將面向?qū)ο蟮乃枷霊?yīng)用到組件的布局模板的擴(kuò)展中,因此,可通過(guò)對(duì)象引用的方式將不同組件的布局模版關(guān)聯(lián)起來(lái),組成新的對(duì)象。由此,可以對(duì)每一個(gè)布局模板進(jìn)行單獨(dú)校驗(yàn),從而能夠提高布局模板的正確性。此外,在配置布局模板時(shí)無(wú)論布局模版復(fù)雜與否,都可通過(guò)對(duì)象之間的繼承聯(lián)系完成布局模板的配置,有效簡(jiǎn)化了布局模板的管理與維護(hù)更新的復(fù)雜度。

本申請(qǐng)第二方面實(shí)施例提供了一種組件的布局模板的擴(kuò)展裝置,包括:確定模塊,用于確定待擴(kuò)展組件與已有組件之間的繼承關(guān)系;生成模塊,用于根據(jù)所述繼承關(guān)系生成所述待擴(kuò)展組件的擴(kuò)展配置信息,其中,所述擴(kuò)展配置信息包括所述已有組件的標(biāo)識(shí)信息、所述繼承關(guān)系和待擴(kuò)展內(nèi)容;獲取模塊,用于根據(jù)所述已有組件的標(biāo)識(shí)信息獲取所述已有組件的布局模版對(duì)象,其中,所述布局模版對(duì)象中配置有所述相應(yīng)組件的至少一個(gè)元素項(xiàng);更新模塊,用于根據(jù)所述繼承關(guān)系和所述待擴(kuò)展內(nèi)容對(duì)所述布局模板對(duì)象中的元素項(xiàng)進(jìn)行更新,以得到所述待擴(kuò)展組件的布局模版對(duì)象。

本申請(qǐng)實(shí)施例的組件的布局模板的擴(kuò)展裝置,根據(jù)待擴(kuò)展組件與已有組件之間的繼承關(guān)系生成待擴(kuò)展組件的擴(kuò)展配置信息,并根據(jù)該擴(kuò)展配置信息對(duì)已有組件的布局模版對(duì)象中的元素項(xiàng)進(jìn)行更新以得到待擴(kuò)展組件的布局模版對(duì)象。本申請(qǐng)將面向?qū)ο蟮乃枷霊?yīng)用到組件的布局模板的擴(kuò)展中,因此,可通過(guò)對(duì)象引用的方式將不同組件的布局模版關(guān)聯(lián)起來(lái),組成新的對(duì)象。由此,可以對(duì)每一個(gè)布局模板進(jìn)行單獨(dú)校驗(yàn),從而能夠提高布局模板的正確性。此外,在配置布局模板時(shí)無(wú)論布局模版復(fù)雜與否,都可通過(guò)對(duì)象之間的繼承聯(lián)系完成布局模板的配置,有效簡(jiǎn)化了布局模板的管理與維護(hù)更新的復(fù)雜度。

本申請(qǐng)的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本申請(qǐng)的實(shí)踐了解到。

附圖說(shuō)明

本申請(qǐng)的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:

圖1為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的組件的布局模板的擴(kuò)展方法的流程圖;

圖2a為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的擴(kuò)展配置信息的示意圖一;

圖2b為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的擴(kuò)展配置信息的示意圖二;

圖3為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的已有組件的布局模版對(duì)象的示意圖;

圖4為根據(jù)本申請(qǐng)另一個(gè)實(shí)施例的組件的布局模板的擴(kuò)展方法的流程圖;

圖5為根據(jù)本申請(qǐng)又一個(gè)實(shí)施例的組件的布局模板的擴(kuò)展方法的流程圖;

圖6a為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的待擴(kuò)展組件的布局模版對(duì)象的示意圖一;

圖6b為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的待擴(kuò)展組件的布局模版對(duì)象的示意圖二;

圖7為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的組件的布局模板的擴(kuò)展裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面詳細(xì)描述本申請(qǐng)的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本申請(qǐng),而不能理解為對(duì)本申請(qǐng)的限制。

下面參考附圖描述根據(jù)本申請(qǐng)實(shí)施例的組件的布局模板的擴(kuò)展方法和裝置。

圖1為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的組件的布局模板的擴(kuò)展方法的流程圖。

如圖1所示,根據(jù)本申請(qǐng)實(shí)施例的組件的布局模板的擴(kuò)展方法,包括:

s101,確定待擴(kuò)展組件與已有組件之間的繼承關(guān)系。

在本申請(qǐng)的實(shí)施例中,當(dāng)客戶端進(jìn)的業(yè)務(wù)需要更新時(shí),例如,在增加業(yè)務(wù)類型,或者增加或者改變業(yè)務(wù)狀態(tài)等情況。以網(wǎng)絡(luò)購(gòu)物客戶端為例,可包括基礎(chǔ)業(yè)務(wù)、國(guó)際業(yè)務(wù)、團(tuán)購(gòu)業(yè)務(wù)等多種業(yè)務(wù)類型。其中各個(gè)業(yè)務(wù)又可能具有不同的業(yè)務(wù)狀態(tài)。舉例來(lái)說(shuō),團(tuán)購(gòu)業(yè)務(wù)可能具有已開團(tuán)狀態(tài)和未開團(tuán)狀態(tài)。

由于不同業(yè)務(wù)類型以及業(yè)務(wù)狀態(tài)具有布局展示上的差異,即各個(gè)業(yè)務(wù)類型及相應(yīng)的業(yè)務(wù)狀態(tài)分別對(duì)應(yīng)有不同的布局模版,因此,需要對(duì)客戶端的組件的布局模版進(jìn)行擴(kuò)展。其中,布局模板包括客戶端組件的頁(yè)面布局文件、數(shù)據(jù)綁定邏輯以和/或頁(yè)面事件等內(nèi)容,可以通過(guò)json(javascriptobjectnotation,javascript對(duì)象符號(hào),一種輕量級(jí)的數(shù)據(jù)交換格式)文件的形式實(shí)現(xiàn)。

在組件模版的擴(kuò)展過(guò)程中,可根據(jù)組件之間的繼承關(guān)系進(jìn)行擴(kuò)展。其中,組件之間的繼承關(guān)系可包括新增關(guān)系或替換關(guān)系。新增關(guān)系是指新組件繼承了原有組件的所有屬性,并在原有組件的基礎(chǔ)上增加了新的屬性。替換關(guān)系是指新組件對(duì)原有組件中一個(gè)或多個(gè)的屬性進(jìn)行了重新定義,并繼承了原有組件中的其他屬性。

s102,根據(jù)所述繼承關(guān)系生成待擴(kuò)展組件的擴(kuò)展配置信息,其中,擴(kuò)展配置信息包括已有組件的標(biāo)識(shí)信息、所述繼承關(guān)系和待擴(kuò)展內(nèi)容。

舉例來(lái)說(shuō),圖2a為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的擴(kuò)展配置信息的示意圖一。如圖2a所示,該擴(kuò)展配置信息中包括已有組件的標(biāo)識(shí)信息(pid:taobao_normal)、待擴(kuò)展組件的標(biāo)識(shí)信息(id:taobao_jhs)、繼承關(guān)系(inherit:extend)以及待擴(kuò)展內(nèi)容(children:[品牌])。也就是說(shuō),基于圖2a所示的擴(kuò)展配置信息,待擴(kuò)展組件taobao_jhs是在繼承原有組件 taobao_normal的全部屬性的前提下,在子組件列表中增加了“品牌”子組件。

圖2b為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的擴(kuò)展配置信息的示意圖二。如圖2b所示,該擴(kuò)展配置信息中包括已有組件的標(biāo)識(shí)信息(pid:taobao_normal)、待擴(kuò)展組件的標(biāo)識(shí)信息(id:taobao_jhs)、繼承關(guān)系(inherit:override)以及待擴(kuò)展內(nèi)容(children:[倒計(jì)時(shí),價(jià)格,標(biāo)題])。也就是說(shuō),基于圖2b所示的擴(kuò)展配置信息,待擴(kuò)展組件taobao_jhs是將原有組件taobao_normal的子組件列表重新定義為[倒計(jì)時(shí),價(jià)格,標(biāo)題],并繼承原有組件taobao_normal中的其他屬性。

s103,根據(jù)已有組件的標(biāo)識(shí)信息獲取已有組件的布局模版對(duì)象,其中,布局模版對(duì)象中配置有相應(yīng)組件的至少一個(gè)元素項(xiàng)。

在本申請(qǐng)的實(shí)施例中,對(duì)于已經(jīng)生成的布局模版對(duì)象,可進(jìn)行存儲(chǔ)。當(dāng)需要根據(jù)已經(jīng)生成的布局模版對(duì)象對(duì)應(yīng)的組件進(jìn)行擴(kuò)展時(shí),可根據(jù)組件的標(biāo)識(shí)信息從已存儲(chǔ)的布局模版對(duì)象中找出相應(yīng)的布局模版對(duì)象。

在本申請(qǐng)的實(shí)施例中,至少一個(gè)元素項(xiàng)包括至少一個(gè)基礎(chǔ)屬性項(xiàng)和子組件列表項(xiàng)。其中,子組件列表項(xiàng)用于定義組件所包含的子組件。每個(gè)基礎(chǔ)屬性項(xiàng)用于定義組件的一個(gè)屬性,包括屬性關(guān)鍵字和屬性值。舉例來(lái)說(shuō),基礎(chǔ)屬性項(xiàng)定義的屬性可包括組件標(biāo)識(shí)信息、父組件標(biāo)識(shí)信息、組件類型、屬性參數(shù)、子組件列表、組件事件等。其中,元素項(xiàng)的屬性關(guān)鍵字及其屬性值的描述可如表1所示。

表1

其中,id能夠唯一標(biāo)識(shí)一個(gè)布局模板對(duì)象,它是布局模板對(duì)象在整個(gè)布局以及系統(tǒng)中的唯一標(biāo)識(shí)符。pid指向了一個(gè)父組件的布局模板對(duì)象的標(biāo)識(shí)符。若是一個(gè)組件模板配置了pid,表示它與另一個(gè)由pid標(biāo)識(shí)的布局模板對(duì)象有繼承關(guān)系。type標(biāo)識(shí)一個(gè)組件的類型,例如:該組件可以是客戶端組件,也可以是第三方提供的動(dòng)態(tài)組件,不同的組件類型決定了組件到客戶端的映射規(guī)則。key用于標(biāo)識(shí)布局模版對(duì)象對(duì)應(yīng)到客戶端實(shí)現(xiàn)的一個(gè)ui實(shí)現(xiàn)類和viewmodel。params是對(duì)布局模板對(duì)象的屬性參數(shù)的描述,可通過(guò)params個(gè)性化定義組 件的樣式、展示數(shù)據(jù)等。children是布局模板對(duì)象的子組件列表,所有包含子組件列表的組件都是一個(gè)容器組件,容器組件本身決定了子組件在容器中的布局方式。actions表示布局模板對(duì)象描述組件的事件行為,能夠動(dòng)態(tài)綁定一個(gè)組件的事件。其中,actions的基礎(chǔ)元素與組件模板的基礎(chǔ)元素定義相同。

應(yīng)當(dāng)理解,在本發(fā)明的實(shí)施例中,布局模版對(duì)象中如果配置了pid,那么pid應(yīng)當(dāng)是唯一的。也就是說(shuō),一個(gè)布局模版對(duì)象智能繼承一個(gè)布局模版對(duì)象,而不能同時(shí)繼承多個(gè)布局模版對(duì)象,且布局模版對(duì)象之間可以是順序繼承關(guān)系。即可以是a→b→c→d→e,而不可以是其中,a→b表示布局模版對(duì)象b繼承布局模版對(duì)象a。

舉例來(lái)說(shuō),圖3為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的已有組件的布局模版對(duì)象的示意圖。如圖3所示,該布局模版對(duì)象中定義了標(biāo)識(shí)信息為taobao_normal的組件的父組件標(biāo)識(shí)信息為空、組件類型native類型、組件關(guān)鍵字為detail_home、屬性參數(shù)為{style:flx}(即初始默認(rèn)值)、子組件列表包括標(biāo)題和價(jià)格兩個(gè)子組件、組件事件為滑動(dòng)更新。

其中,表1中的屬性參數(shù)params可包括用于定義組件與其父組件的繼承關(guān)系的繼承參數(shù)。屬性參數(shù)params還可包括用于確定子組件之間位置關(guān)系的參數(shù)before或after。其中,params定義的參數(shù)及其參數(shù)關(guān)鍵值的描述可如表2所示。舉例來(lái)說(shuō),對(duì)于當(dāng)前組件“圖像橫幅廣告”,其屬性參數(shù)的關(guān)鍵字為“before價(jià)格”,則表示“圖像橫幅廣告”組件位于“價(jià)格”組件之前。參數(shù)after的用法與before相同,不再舉例說(shuō)明。

表2

s104,根據(jù)所述繼承關(guān)系和待擴(kuò)展內(nèi)容對(duì)所述布局模板對(duì)象中的元素項(xiàng)進(jìn)行更新,以得到待擴(kuò)展組件的布局模版對(duì)象。

具體地,如圖4所示,如果所述繼承關(guān)系為新增關(guān)系,則s104包括:

s1041,根據(jù)待擴(kuò)展內(nèi)容確定目標(biāo)元素項(xiàng)。

s1042,在已有組件的布局模版對(duì)象的基礎(chǔ)上,在所述目標(biāo)元素項(xiàng)中增加待擴(kuò)展內(nèi)容。

如圖5所示,如果所述繼承關(guān)系為替換關(guān)系,則s104包括:

s1043,根據(jù)待擴(kuò)展內(nèi)容確定目標(biāo)元素項(xiàng)。

s1044,在已有組件的布局模版對(duì)象的基礎(chǔ)上,使用待擴(kuò)展內(nèi)容對(duì)所述目標(biāo)元素項(xiàng)進(jìn)行替換。

由于待擴(kuò)展內(nèi)容中包括擴(kuò)展內(nèi)容對(duì)應(yīng)的元素項(xiàng),因此,可將已有組件的布局模版對(duì)象中該元素項(xiàng)作為目標(biāo)元素項(xiàng)。然后,可根據(jù)繼承關(guān)系用待擴(kuò)展內(nèi)容對(duì)目標(biāo)元素項(xiàng)的內(nèi)容增加或者替換。

舉例來(lái)說(shuō),圖6a為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的待擴(kuò)展組件的布局模版對(duì)象的示意圖一。圖6a所示的待擴(kuò)展組件的布局模版對(duì)象是根據(jù)圖3所示的已有組件的布局模版對(duì)象和圖2a所示的擴(kuò)展配置信息生成的。如圖6a所示,根據(jù)擴(kuò)展配置信息可知,待擴(kuò)展內(nèi)容是子組件列表(children:[品牌]),且繼承關(guān)系為新增關(guān)系(inherit:extend),因此,可在已有組件的布局模版對(duì)象中的children中增加[品牌]子組件,并在屬性參數(shù)中增加繼承關(guān)系inherit:extend,得到待擴(kuò)展組件的布局模版對(duì)象。

圖6b為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的待擴(kuò)展組件的布局模版對(duì)象的示意圖二。圖6b所示的待擴(kuò)展組件的布局模版對(duì)象是根據(jù)圖3所示的已有組件的布局模版對(duì)象和圖2b所示的擴(kuò)展配置信息生成的。如圖6b所示,根據(jù)擴(kuò)展配置信息可知,待擴(kuò)展內(nèi)容是子組件列表(children:[倒計(jì)時(shí),價(jià)格,標(biāo)題]),且繼承關(guān)系為新增關(guān)系(inherit:override),因此,可將已有組件的布局模版對(duì)象中的children[標(biāo)題,價(jià)格]替換為children:[倒計(jì)時(shí),價(jià)格,標(biāo)題],并在屬性參數(shù)中增加繼承關(guān)系inherit:override,得到待擴(kuò)展組件的布局模版對(duì)象。

在本發(fā)明的一個(gè)實(shí)施例中,基礎(chǔ)屬性項(xiàng)還可包括用于確定子組件之間位置關(guān)系的關(guān)鍵字,即before或after,因此,當(dāng)待擴(kuò)展內(nèi)容為新的子組件時(shí),配置信息中還包括用于確定新的子組件與已有子組件的位置關(guān)系的關(guān)鍵字,所述方法還包括:根據(jù)用于確定新的子組件與已有子組件的位置關(guān)系的關(guān)鍵字,確定新的子組件在子組件列表項(xiàng)中的位置;根據(jù)所述位置在子組件列表項(xiàng)中的相應(yīng)位置增加新的子組件。

舉例來(lái)說(shuō),當(dāng)待擴(kuò)展內(nèi)容為新的組件[圖像橫幅廣告](對(duì)應(yīng)的id為image_banner)時(shí),且配置信息中還包括其屬性參數(shù)的關(guān)鍵字為“before[價(jià)格]”(即before:normal_price),則可確定新的組件[圖像橫幅廣告]在子組件列表中位于已有子組件[價(jià)格]之前。則對(duì)于圖3所示的布局模版對(duì)象,新生成的布局模版對(duì)象中,子組件列表變?yōu)閏hildren[標(biāo)題,圖像橫幅廣告,價(jià)格]。

本申請(qǐng)實(shí)施例的組件的布局模板的擴(kuò)展方法,根據(jù)待擴(kuò)展組件與已有組件之間的繼承關(guān)系生成待擴(kuò)展組件的擴(kuò)展配置信息,并根據(jù)該擴(kuò)展配置信息對(duì)已有組件的布局模版對(duì)象中的元素項(xiàng)進(jìn)行更新以得到待擴(kuò)展組件的布局模版對(duì)象。本申請(qǐng)將面向?qū)ο蟮乃枷霊?yīng)用到組件的布局模板的擴(kuò)展中,因此,可通過(guò)對(duì)象引用的方式將不同組件的布局模版關(guān)聯(lián)起來(lái),組成新的對(duì)象。由此,可以對(duì)每一個(gè)布局模板進(jìn)行單獨(dú)校驗(yàn),從而能夠提高布局模板的正確性。此 外,在配置布局模板時(shí)無(wú)論布局模版復(fù)雜與否,都可通過(guò)對(duì)象之間的繼承聯(lián)系完成布局模板的配置,有效簡(jiǎn)化了布局模板的管理與維護(hù)更新的復(fù)雜度。

為了實(shí)現(xiàn)上述實(shí)施例,本申請(qǐng)還提出一種組件的布局模板的擴(kuò)展裝置。

圖7為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的組件的布局模板的擴(kuò)展裝置的結(jié)構(gòu)示意圖。

如圖7所示,根據(jù)本申請(qǐng)實(shí)施例的組件的布局模板的擴(kuò)展裝置,包括:確定模塊10、生成模塊20、獲取模塊30和更新模塊40。

具體地,確定模塊10用于確定待擴(kuò)展組件與已有組件之間的繼承關(guān)系。

在本申請(qǐng)的實(shí)施例中,當(dāng)客戶端進(jìn)的業(yè)務(wù)需要更新時(shí),例如,在增加業(yè)務(wù)類型,或者增加或者改變業(yè)務(wù)狀態(tài)等情況。以網(wǎng)絡(luò)購(gòu)物客戶端為例,可包括基礎(chǔ)業(yè)務(wù)、國(guó)際業(yè)務(wù)、團(tuán)購(gòu)業(yè)務(wù)等多種業(yè)務(wù)類型。其中各個(gè)業(yè)務(wù)又可能具有不同的業(yè)務(wù)狀態(tài)。舉例來(lái)說(shuō),團(tuán)購(gòu)業(yè)務(wù)可能具有已開團(tuán)狀態(tài)和未開團(tuán)狀態(tài)。

由于不同業(yè)務(wù)類型以及業(yè)務(wù)狀態(tài)具有布局展示上的差異,即各個(gè)業(yè)務(wù)類型及相應(yīng)的業(yè)務(wù)狀態(tài)分別對(duì)應(yīng)有不同的布局模版,因此,需要對(duì)客戶端的組件的布局模版進(jìn)行擴(kuò)展。其中,布局模板包括客戶端組件的頁(yè)面布局文件、數(shù)據(jù)綁定邏輯以和/或頁(yè)面事件等內(nèi)容,可以通過(guò)json(javascriptobjectnotation,javascript對(duì)象符號(hào),一種輕量級(jí)的數(shù)據(jù)交換格式)文件的形式實(shí)現(xiàn)。

在組件模版的擴(kuò)展過(guò)程中,可根據(jù)組件之間的繼承關(guān)系進(jìn)行擴(kuò)展。其中,組件之間的繼承關(guān)系可包括新增關(guān)系或替換關(guān)系。新增關(guān)系是指新組件繼承了原有組件的所有屬性,并在原有組件的基礎(chǔ)上增加了新的屬性。替換關(guān)系是指新組件對(duì)原有組件中一個(gè)或多個(gè)的屬性進(jìn)行了重新定義,并繼承了原有組件中的其他屬性。

生成模塊20用于根據(jù)所述繼承關(guān)系生成所述待擴(kuò)展組件的擴(kuò)展配置信息,其中,所述擴(kuò)展配置信息包括所述已有組件的標(biāo)識(shí)信息、所述繼承關(guān)系和待擴(kuò)展內(nèi)容。

舉例來(lái)說(shuō),圖2a為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的擴(kuò)展配置信息的示意圖一。如圖2a所示,該擴(kuò)展配置信息中包括已有組件的標(biāo)識(shí)信息(pid:taobao_normal)、待擴(kuò)展組件的標(biāo)識(shí)信息(id:taobao_jhs)、繼承關(guān)系(inherit:extend)以及待擴(kuò)展內(nèi)容(children:[品牌])。也就是說(shuō),基于圖2a所示的擴(kuò)展配置信息,待擴(kuò)展組件taobao_jhs是在繼承原有組件taobao_normal的全部屬性的前提下,在子組件列表中增加了“品牌”子組件。

圖2b為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的擴(kuò)展配置信息的示意圖二。如圖2b所示,該擴(kuò)展配置信息中包括已有組件的標(biāo)識(shí)信息(pid:taobao_normal)、待擴(kuò)展組件的標(biāo)識(shí)信息(id:taobao_jhs)、繼承關(guān)系(inherit:override)以及待擴(kuò)展內(nèi)容(children:[倒計(jì)時(shí),價(jià)格,標(biāo)題])。也就是說(shuō),基于圖2b所示的擴(kuò)展配置信息,待擴(kuò)展組件taobao_jhs是將原有組件 taobao_normal的子組件列表重新定義為[倒計(jì)時(shí),價(jià)格,標(biāo)題],并繼承原有組件taobao_normal中的其他屬性。

獲取模塊30用于根據(jù)所述已有組件的標(biāo)識(shí)信息獲取所述已有組件的布局模版對(duì)象,其中,所述布局模版對(duì)象中配置有所述相應(yīng)組件的至少一個(gè)元素項(xiàng)。

在本申請(qǐng)的實(shí)施例中,對(duì)于已經(jīng)生成的布局模版對(duì)象,可進(jìn)行存儲(chǔ)。當(dāng)需要根據(jù)已經(jīng)生成的布局模版對(duì)象對(duì)應(yīng)的組件進(jìn)行擴(kuò)展時(shí),獲取模塊30可根據(jù)組件的標(biāo)識(shí)信息從已存儲(chǔ)的布局模版對(duì)象中找出相應(yīng)的布局模版對(duì)象。

在本申請(qǐng)的實(shí)施例中,至少一個(gè)元素項(xiàng)包括至少一個(gè)基礎(chǔ)屬性項(xiàng)和子組件列表項(xiàng)。其中,子組件列表項(xiàng)用于定義組件所包含的子組件。每個(gè)基礎(chǔ)屬性項(xiàng)用于定義組件的一個(gè)屬性,包括屬性關(guān)鍵字和屬性值。舉例來(lái)說(shuō),基礎(chǔ)屬性項(xiàng)定義的屬性可包括組件標(biāo)識(shí)信息、父組件標(biāo)識(shí)信息、組件類型、屬性參數(shù)、子組件列表、組件事件等。其中,元素項(xiàng)的屬性關(guān)鍵字及其屬性值的描述可如表1所示。

其中,id能夠唯一標(biāo)識(shí)一個(gè)布局模板對(duì)象,它是布局模板對(duì)象在整個(gè)布局以及系統(tǒng)中的唯一標(biāo)識(shí)符。pid指向了一個(gè)父組件的布局模板對(duì)象的標(biāo)識(shí)符。若是一個(gè)組件模板配置了pid,表示它與另一個(gè)由pid標(biāo)識(shí)的布局模板對(duì)象有繼承關(guān)系。type標(biāo)識(shí)一個(gè)組件的類型,例如:該組件可以是客戶端組件,也可以是第三方提供的動(dòng)態(tài)組件,不同的組件類型決定了組件到客戶端的映射規(guī)則。key用于標(biāo)識(shí)布局模版對(duì)象對(duì)應(yīng)到客戶端實(shí)現(xiàn)的一個(gè)ui實(shí)現(xiàn)類和viewmodel。params是對(duì)布局模板對(duì)象的屬性參數(shù)的描述,可通過(guò)params個(gè)性化定義組件的樣式、展示數(shù)據(jù)等。children是布局模板對(duì)象的子組件列表,所有包含子組件列表的組件都是一個(gè)容器組件,容器組件本身決定了子組件在容器中的布局方式。actions表示布局模板對(duì)象描述組件的事件行為,能夠動(dòng)態(tài)綁定一個(gè)組件的事件。其中,actions的基礎(chǔ)元素與組件模板的基礎(chǔ)元素定義相同。

應(yīng)當(dāng)理解,在本發(fā)明的實(shí)施例中,布局模版對(duì)象中如果配置了pid,那么pid應(yīng)當(dāng)是唯一的。也就是說(shuō),一個(gè)布局模版對(duì)象智能繼承一個(gè)布局模版對(duì)象,而不能同時(shí)繼承多個(gè)布局模版對(duì)象,且布局模版對(duì)象之間可以是順序繼承關(guān)系。即可以是a→b→c→d→e,而不可以是其中,a→b表示布局模版對(duì)象b繼承布局模版對(duì)象a。

舉例來(lái)說(shuō),圖3為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的已有組件的布局模版對(duì)象的示意圖。如圖3所示,該布局模版對(duì)象中定義了標(biāo)識(shí)信息為taobao_normal的組件的父組件標(biāo)識(shí)信息為空、組件類型native類型、組件關(guān)鍵字為detail_home、屬性參數(shù)為{style:flx}(即初始默認(rèn)值)、子組件列表包括標(biāo)題和價(jià)格兩個(gè)子組件、組件事件為滑動(dòng)更新。

其中,表1中的屬性參數(shù)params可包括用于定義組件與其父組件的繼承關(guān)系的繼承參 數(shù)。屬性參數(shù)params還可包括用于確定子組件之間位置關(guān)系的參數(shù)before或after。其中,params定義的參數(shù)及其參數(shù)關(guān)鍵值的描述可如表2所示。舉例來(lái)說(shuō),對(duì)于當(dāng)前組件“圖像橫幅廣告”,其屬性參數(shù)的關(guān)鍵字為“before價(jià)格”,則表示“圖像橫幅廣告”組件位于“價(jià)格”組件之前。參數(shù)after的用法與before相同,不再舉例說(shuō)明。

更新模塊40用于根據(jù)所述繼承關(guān)系和所述待擴(kuò)展內(nèi)容對(duì)所述布局模板對(duì)象中的元素項(xiàng)進(jìn)行更新,以得到所述待擴(kuò)展組件的布局模版對(duì)象。

具體地,如果所述繼承關(guān)系為新增關(guān)系,則更新模塊40可用于:根據(jù)待擴(kuò)展內(nèi)容確定目標(biāo)元素項(xiàng);在已有組件的布局模版對(duì)象的基礎(chǔ)上,在所述目標(biāo)元素項(xiàng)中增加待擴(kuò)展內(nèi)容。

如果所述繼承關(guān)系為替換關(guān)系,則更新模塊40可用于:根據(jù)待擴(kuò)展內(nèi)容確定目標(biāo)元素項(xiàng);在已有組件的布局模版對(duì)象的基礎(chǔ)上,使用待擴(kuò)展內(nèi)容對(duì)所述目標(biāo)元素項(xiàng)進(jìn)行替換。

由于待擴(kuò)展內(nèi)容中包括擴(kuò)展內(nèi)容對(duì)應(yīng)的元素項(xiàng),因此,可將已有組件的布局模版對(duì)象中該元素項(xiàng)作為目標(biāo)元素項(xiàng)。然后,可根據(jù)繼承關(guān)系用待擴(kuò)展內(nèi)容對(duì)目標(biāo)元素項(xiàng)的內(nèi)容增加或者替換。

舉例來(lái)說(shuō),圖6a為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的待擴(kuò)展組件的布局模版對(duì)象的示意圖一。圖6a所示的待擴(kuò)展組件的布局模版對(duì)象是根據(jù)圖3所示的已有組件的布局模版對(duì)象和圖2a所示的擴(kuò)展配置信息生成的。如圖6a所示,根據(jù)擴(kuò)展配置信息可知,待擴(kuò)展內(nèi)容是子組件列表(children:[品牌]),且繼承關(guān)系為新增關(guān)系(inherit:extend),因此,可在已有組件的布局模版對(duì)象中的children中增加[品牌]子組件,并在屬性參數(shù)中增加繼承關(guān)系inherit:extend,得到待擴(kuò)展組件的布局模版對(duì)象。

圖6b為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的待擴(kuò)展組件的布局模版對(duì)象的示意圖二。圖6b所示的待擴(kuò)展組件的布局模版對(duì)象是根據(jù)圖3所示的已有組件的布局模版對(duì)象和圖2b所示的擴(kuò)展配置信息生成的。如圖6b所示,根據(jù)擴(kuò)展配置信息可知,待擴(kuò)展內(nèi)容是子組件列表(children:[倒計(jì)時(shí),價(jià)格,標(biāo)題]),且繼承關(guān)系為新增關(guān)系(inherit:override),因此,可將已有組件的布局模版對(duì)象中的children[標(biāo)題,價(jià)格]替換為children:[倒計(jì)時(shí),價(jià)格,標(biāo)題],并在屬性參數(shù)中增加繼承關(guān)系inherit:override,得到待擴(kuò)展組件的布局模版對(duì)象。

在本發(fā)明的一個(gè)實(shí)施例中,基礎(chǔ)屬性項(xiàng)還可包括用于確定子組件之間位置關(guān)系的關(guān)鍵字,即before或after,因此,當(dāng)待擴(kuò)展內(nèi)容為新的子組件時(shí),配置信息中還包括用于確定新的子組件與已有子組件的位置關(guān)系的關(guān)鍵字,更新模塊40還可用于:根據(jù)用于確定新的子組件與已有子組件的位置關(guān)系的關(guān)鍵字,確定新的子組件在子組件列表項(xiàng)中的位置;根據(jù)所述位置在子組件列表項(xiàng)中的相應(yīng)位置增加新的子組件。

舉例來(lái)說(shuō),當(dāng)待擴(kuò)展內(nèi)容為新的組件[圖像橫幅廣告](對(duì)應(yīng)的id為image_banner)時(shí),且配置信息中還包括其屬性參數(shù)的關(guān)鍵字為“before[價(jià)格]”(即before:normal_price),則 可確定新的組件[圖像橫幅廣告]在子組件列表中位于已有子組件[價(jià)格]之前。則對(duì)于圖3所示的布局模版對(duì)象,新生成的布局模版對(duì)象中,子組件列表變?yōu)閏hildren[標(biāo)題,圖像橫幅廣告,價(jià)格]。

本申請(qǐng)實(shí)施例的組件的布局模板的擴(kuò)展裝置,根據(jù)待擴(kuò)展組件與已有組件之間的繼承關(guān)系生成待擴(kuò)展組件的擴(kuò)展配置信息,并根據(jù)該擴(kuò)展配置信息對(duì)已有組件的布局模版對(duì)象中的元素項(xiàng)進(jìn)行更新以得到待擴(kuò)展組件的布局模版對(duì)象。本申請(qǐng)將面向?qū)ο蟮乃枷霊?yīng)用到組件的布局模板的擴(kuò)展中,因此,可通過(guò)對(duì)象引用的方式將不同組件的布局模版關(guān)聯(lián)起來(lái),組成新的對(duì)象。由此,可以對(duì)每一個(gè)布局模板進(jìn)行單獨(dú)校驗(yàn),從而能夠提高布局模板的正確性。此外,在配置布局模板時(shí)無(wú)論布局模版復(fù)雜與否,都可通過(guò)對(duì)象之間的繼承聯(lián)系完成布局模板的配置,有效簡(jiǎn)化了布局模板的管理與維護(hù)更新的復(fù)雜度。

流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本申請(qǐng)的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本申請(qǐng)的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。

在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說(shuō)明書而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(ram),只讀存儲(chǔ)器(rom),可擦除可編輯只讀存儲(chǔ)器(eprom或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(cdrom)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^(guò)對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來(lái)以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。

應(yīng)當(dāng)理解,本申請(qǐng)的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場(chǎng)可編程 門陣列(fpga)等。

本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。

此外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。

上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。

在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本申請(qǐng)的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。

盡管已經(jīng)示出和描述了本申請(qǐng)的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本申請(qǐng)的原理和宗旨的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本申請(qǐng)的范圍由權(quán)利要求及其等同限定。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
苍梧县| 门头沟区| 孙吴县| 嵊州市| 科技| 道孚县| 和林格尔县| 佛山市| 成安县| 塔河县| 香河县| 德格县| 开鲁县| 洛南县| 铜梁县| 通化市| 通江县| 嘉定区| 邹城市| 前郭尔| 大余县| 汨罗市| 大埔县| 广元市| 丹凤县| 德庆县| 烟台市| 若尔盖县| 蓝田县| 会东县| 滦平县| 凌云县| 定兴县| 巴塘县| 赤城县| 临夏市| 定边县| 阜平县| 永清县| 黔东| 晴隆县|