亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

客戶端頁面渲染方法及裝置與流程

文檔序號(hào):11950292閱讀:249來源:國知局
客戶端頁面渲染方法及裝置與流程

本申請(qǐng)涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種客戶端頁面渲染方法及裝置。



背景技術(shù):

隨著移動(dòng)通信技術(shù)的發(fā)展及手機(jī)、平板電腦等電子設(shè)備的普及,應(yīng)用于電子設(shè)備的應(yīng)用程序,即客戶端,也越來越多,如各類購物網(wǎng)站提供的手機(jī)客戶端。這些客戶端運(yùn)行時(shí),可以與相應(yīng)的服務(wù)端之間進(jìn)行通信,從而將服務(wù)端提供的產(chǎn)品或服務(wù)信息按照一定的布局渲染為相應(yīng)的展示頁面,使得用戶可以通過電子設(shè)備隨時(shí)隨地獲知上述產(chǎn)品及服務(wù)信息。

一般的,每個(gè)版本的客戶端展示產(chǎn)品或服務(wù)的布局模板是固定的,該布局模板規(guī)定了展示頁面包括哪些展示區(qū)域,每個(gè)展示區(qū)域展示哪些數(shù)據(jù),通過將布局模板中各個(gè)區(qū)域關(guān)聯(lián)不同的數(shù)據(jù)源,渲染得到不同產(chǎn)品的展示頁面。

但是,隨著業(yè)務(wù)的擴(kuò)展,服務(wù)端提供的產(chǎn)品類型也會(huì)相應(yīng)增加,如果客戶端中的布局模板不適合展示這些新增產(chǎn)品,則需要開發(fā)新版本的客戶端,以增加適合展示新增產(chǎn)品的布局模板,從而導(dǎo)致開發(fā)成本較高。



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

為克服相關(guān)技術(shù)中存在的問題,本申請(qǐng)?zhí)峁┮环N客戶端頁面渲染方法及裝置。

本申請(qǐng)第一方面提供一種客戶端頁面渲染方法;該方法包括:

接收并解析服務(wù)端發(fā)送的頁面詳情數(shù)據(jù),確定目標(biāo)頁面的組件數(shù)據(jù)和原始布局模板;

根據(jù)鍵值與實(shí)現(xiàn)類名之間的預(yù)設(shè)第一映射查找所述原始布局模板中記錄的各個(gè)組件鍵值對(duì)應(yīng)的組件實(shí)現(xiàn)類;

根據(jù)所述組件實(shí)現(xiàn)類和組件數(shù)據(jù)生成對(duì)應(yīng)的組件描述項(xiàng);

匯總各個(gè)組件描述項(xiàng)生成目標(biāo)布局模板;

根據(jù)所述目標(biāo)布局模板執(zhí)行渲染操作,得到目標(biāo)頁面的詳情信息展示頁面。

結(jié)合第一方面,在第一方面的第一種可行的實(shí)施方式中,在接收到所述頁面詳情數(shù)據(jù)前,所述客戶端頁面渲染方法還包括:

根據(jù)目標(biāo)頁面的統(tǒng)一資源定位符URL獲取頁面基本數(shù)據(jù);

根據(jù)客戶端存儲(chǔ)的默認(rèn)布局模板和頁面基本數(shù)據(jù)執(zhí)行渲染操作,得到目標(biāo)頁面的基本信息展示頁面。

結(jié)合第一方面,或者第一方面的第一種可行的實(shí)施方式,在第一方面的第二種可行的實(shí)施方式中,所述確定目標(biāo)頁面的原始布局模板,包括:

判斷對(duì)所述頁面詳情數(shù)據(jù)的解析結(jié)果中是否存在預(yù)設(shè)布局模板;

如果存在所述預(yù)設(shè)布局模板,則確定所述預(yù)設(shè)布局模板為原始布局模板;

如果不存在所述預(yù)設(shè)布局模板,則確定所述默認(rèn)布局模板為所述原始布局模板。

結(jié)合第一方面,或者第一方面的第一種可行的實(shí)施方式,在第一方面的第三種可行的實(shí)施方式中,根據(jù)所述組件實(shí)現(xiàn)類和組件數(shù)據(jù)生成對(duì)應(yīng)的組件描述項(xiàng),包括:

根據(jù)實(shí)現(xiàn)類名與函數(shù)之間的預(yù)設(shè)第二映射查找所述組件實(shí)現(xiàn)類對(duì)應(yīng)的組件翻譯函數(shù);

調(diào)用所述組件翻譯函數(shù)對(duì)所述組件數(shù)據(jù)進(jìn)行處理,得到對(duì)應(yīng)的組件描述項(xiàng)。

本申請(qǐng)第二方面提供一種客戶端頁面渲染裝置;該裝置包括:

數(shù)據(jù)解析單元,用于接收并解析服務(wù)端發(fā)送的頁面詳情數(shù)據(jù),確定目標(biāo)頁面的組件數(shù)據(jù)和原始布局模板;

組件類查找單元,用于根據(jù)鍵值與實(shí)現(xiàn)類名之間的預(yù)設(shè)第一映射查找所述原始布局模板中記錄的各個(gè)組件鍵值查找對(duì)應(yīng)的組件實(shí)現(xiàn)類;

組件翻譯單元,用于根據(jù)所述組件實(shí)現(xiàn)類和組件數(shù)據(jù)生成對(duì)應(yīng)的組件描述項(xiàng);

目標(biāo)模板生成單元,用于匯總各個(gè)組件描述項(xiàng)生成目標(biāo)布局模板;

詳情信息渲染單元,用于根據(jù)所述目標(biāo)布局模板執(zhí)行渲染操作,得到目標(biāo)頁面的詳情信息展示頁面。

結(jié)合第二方面,在第二方面的第一種可行的實(shí)施方式中,所述客戶端頁面渲染裝置還包括:

基本信息渲染單元,用于在所述數(shù)據(jù)解析單元接收到所述頁面詳情數(shù)據(jù)前,根據(jù)目標(biāo)頁面的統(tǒng)一資源定位符URL獲取頁面基本數(shù)據(jù),并根據(jù)客戶端存儲(chǔ)的默認(rèn)布局模板和頁面基本數(shù)據(jù)執(zhí)行渲染操作,得到目標(biāo)頁面的基本信息展示頁面。

結(jié)合第二方面,或者第二方面的第一種可行的實(shí)施方式,在第二方面的第二種可行的實(shí)施方式中,所述數(shù)據(jù)解析單元包括:

布局模板確定模塊,用于判斷對(duì)所述頁面詳情數(shù)據(jù)的解析結(jié)果中是否存在預(yù)設(shè)布局模板,如果存在所述預(yù)設(shè)布局模板,則確定所述預(yù)設(shè)布局模板為原始布局模板,否則確定所述默認(rèn)布局模板為所述原始布局模板。

結(jié)合第二方面,或者第二方面的第一種可行的實(shí)施方式,在第二方面的第三種可行的實(shí)施方式中,所述組件翻譯單元包括:

翻譯函數(shù)查找模塊,用于根據(jù)實(shí)現(xiàn)類名與函數(shù)之間的預(yù)設(shè)第二映射查找所述組件實(shí)現(xiàn)類對(duì)應(yīng)的組件翻譯函數(shù);

組件數(shù)據(jù)處理模塊,用于調(diào)用所述組件翻譯函數(shù)對(duì)所述組件數(shù)據(jù)進(jìn)行處理,得到對(duì)應(yīng)的組件描述項(xiàng)。

由以上技術(shù)方案可知,本申請(qǐng)實(shí)施例中原始布局模板僅記錄各個(gè)組件的鍵值及其位置信息,在執(zhí)行頁面渲染時(shí)再根據(jù)鍵值查找對(duì)應(yīng)的實(shí)現(xiàn)類,使得同一組件對(duì)應(yīng)的實(shí)現(xiàn)類可以復(fù)用于不同的布局模板,因此當(dāng)出現(xiàn)新增產(chǎn)品時(shí),或者針對(duì)該新增產(chǎn)品設(shè)計(jì)對(duì)應(yīng)的預(yù)設(shè)布局模板,并將其添加在頁面詳情數(shù)據(jù)中返回至客戶端,且設(shè)計(jì)新增產(chǎn)品對(duì)應(yīng)的預(yù)設(shè)布局模板時(shí)只需考慮所需的組件鍵值和其在頁面中的位置,不需要考慮如何實(shí)現(xiàn)該組件,從而可以降低適用于新增產(chǎn)品的原始布局模板的設(shè)計(jì)難度;或者針對(duì)該新增產(chǎn)品設(shè)計(jì)特定的新增組件,并將其組件鍵值和組件實(shí)現(xiàn)類之間的映射關(guān)系添加至客戶端中,從而在不修改查詢代碼的前提下就可以查找調(diào)用新增組件的實(shí)現(xiàn)類??梢?,本申請(qǐng)實(shí)施例可以降低布局模板的設(shè)計(jì)難度,組件和布局模板具有復(fù)用性和可擴(kuò)展性,在需要展示新增產(chǎn)品時(shí),不需要開發(fā)并發(fā)布新版客戶端,可以提高客戶端的利用率,降低開發(fā)成本。

應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本申請(qǐng)。

附圖說明

此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明的原理。

圖1是本申請(qǐng)實(shí)施例提供的一種客戶端頁面渲染方法的流程圖。

圖2是本申請(qǐng)實(shí)施例提供的一種客戶端頁面渲染方法的信號(hào)流圖。

圖3是本申請(qǐng)實(shí)施例提供的客戶端頁面渲染方法中確定原始布局模板的方法流程圖。

圖4是本申請(qǐng)實(shí)施例提供的一種客戶端頁面渲染裝置的框圖。

圖5是本申請(qǐng)實(shí)施例提供的另一種客戶端頁面渲染裝置的框圖。

具體實(shí)施方式

這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。

圖1為本申請(qǐng)實(shí)施例提供的一種客戶端頁面渲染方法的流程圖。如圖1所示,該方法包括以下步驟。

S11、接收并解析服務(wù)端發(fā)送的頁面詳情數(shù)據(jù),確定目標(biāo)頁面的組件數(shù)據(jù)和原始布局模板。

S12、根據(jù)鍵值與實(shí)現(xiàn)類名之間的預(yù)設(shè)第一映射查找所述原始布局模板中記錄的各個(gè)組件鍵值對(duì)應(yīng)的組件實(shí)現(xiàn)類。

S13、根據(jù)所述組件實(shí)現(xiàn)類和組件數(shù)據(jù)生成對(duì)應(yīng)的組件描述項(xiàng)。

S14、匯總各個(gè)組件描述項(xiàng)生成目標(biāo)布局模板。

S15、根據(jù)所述目標(biāo)布局模板執(zhí)行渲染操作,得到目標(biāo)頁面的詳情信息展示頁面。

本申請(qǐng)實(shí)施例采用組件化布局方式,即以組件為單位繪制展示頁面,每個(gè)組件表示頁面中的至少一個(gè)元素,如一張產(chǎn)品預(yù)覽圖、顯示產(chǎn)品名稱的文本框等,將不同組件相組合或者將同一組件設(shè)置于不同位置即可得到不同的布局模板。有鑒于此,本申請(qǐng)實(shí)施例為每種組件設(shè)置對(duì)應(yīng)的鍵值及實(shí)現(xiàn)該組件的實(shí)現(xiàn)類,并將每種組件的鍵值及實(shí)現(xiàn)該組件的實(shí)現(xiàn)類之間的映射關(guān)系預(yù)先存儲(chǔ)于客戶端中;相應(yīng)的,原始布局模板中只記錄所需組件的鍵值以及各個(gè)組件在頁面中的位置信息;進(jìn)而客戶端通過執(zhí)行上述步驟S12至S14,將原始布局模板轉(zhuǎn)化為目標(biāo)布局模板,該目標(biāo)布局模板中記錄有各個(gè)組件對(duì)應(yīng)的組件描述項(xiàng),根據(jù)各個(gè)組件描述項(xiàng)執(zhí)行渲染操作,即可繪制出對(duì)應(yīng)的頁面元素,最終得到目標(biāo)頁面。

由以上技術(shù)方案可知,本申請(qǐng)實(shí)施例中原始布局模板僅記錄各個(gè)組件的鍵值及其位置信息,在執(zhí)行頁面渲染時(shí)再根據(jù)鍵值查找對(duì)應(yīng)的實(shí)現(xiàn)類,使得同一組件對(duì)應(yīng)的實(shí)現(xiàn)類可以復(fù)用于不同的布局模板,因此當(dāng)出現(xiàn)新增產(chǎn)品時(shí),或者針對(duì)該新增產(chǎn)品設(shè)計(jì)對(duì)應(yīng)的預(yù)設(shè)布局模板,并將其添加在頁面詳情數(shù)據(jù)中返回至客戶端,且設(shè)計(jì)新增產(chǎn)品對(duì)應(yīng)的預(yù)設(shè)布局模板時(shí)只需考慮所需的組件鍵值和其在頁面中的位置,不需要考慮如何實(shí)現(xiàn)該組件,從而可以降低適用于新增產(chǎn)品的原始布局模板的設(shè)計(jì)難度;或者針對(duì)該新增產(chǎn)品設(shè)計(jì)特定的新增組件,并將其組件鍵值和組件實(shí)現(xiàn)類之間的映射關(guān)系添加至客戶端中,從而在不修改查詢代碼的前提下就可以查找調(diào)用新增組件的實(shí)現(xiàn)類??梢姡旧暾?qǐng)實(shí)施例 可以降低布局模板的設(shè)計(jì)難度,組件和布局模板具有復(fù)用性和可擴(kuò)展性,在需要展示新增產(chǎn)品時(shí),不需要開發(fā)并發(fā)布新版客戶端,進(jìn)而可以提高客戶端的利用率,降低開發(fā)成本。

另外,對(duì)照程序開發(fā)的三層邏輯架構(gòu),上述頁面渲染方法對(duì)應(yīng)的程序也可分為三個(gè)層次,自下而上分別為數(shù)據(jù)層、組件化模板翻譯層和UI層;其中,上述步驟S11由數(shù)據(jù)層執(zhí)行,步驟S12至S14由組件化模板翻譯層執(zhí)行,步驟S15由UI層執(zhí)行。

在本申請(qǐng)一個(gè)可行的實(shí)施例中,在上述步驟S11之前,還包括如下步驟:

根據(jù)目標(biāo)頁面的統(tǒng)一資源定位符URL獲取頁面基本數(shù)據(jù),并根據(jù)所述默認(rèn)布局模板和頁面基本數(shù)據(jù)執(zhí)行渲染操作,得到目標(biāo)頁面的基本信息展示頁面。

實(shí)際應(yīng)用中,客戶端從服務(wù)端獲取頁面詳情數(shù)據(jù),并渲染得到詳情信息展示頁面的過程需要一定的時(shí)間,為避免頁面空白時(shí)間過長,客戶端在接收到頁面展示指令后,一方面向服務(wù)端發(fā)出請(qǐng)求,以獲取對(duì)應(yīng)的頁面詳情數(shù)據(jù),另一方面通過分析待展示的目標(biāo)頁面的統(tǒng)一資源定位符(Uniform Resoure Locator,URL),獲取目標(biāo)頁面的基本信息,并根據(jù)客戶端存儲(chǔ)的默認(rèn)布局模板進(jìn)行渲染,得到目標(biāo)頁面的基本信息展示頁面。其中,上述基本信息可以包括產(chǎn)品的名稱、頭圖和價(jià)格等,上述渲染得到基本信息展示頁面的步驟直接由UI層執(zhí)行。

下面參照?qǐng)D2所示的信號(hào)流圖對(duì)本申請(qǐng)?zhí)峁┑目蛻舳隧撁驿秩痉椒ㄟM(jìn)行詳細(xì)闡述。

如圖2所示,在步驟S21中,客戶端接收用戶發(fā)送的頁面展示指令;接收到該指令后,客戶端一方面向服務(wù)端發(fā)送頁面詳情數(shù)據(jù)獲取請(qǐng)求,即步驟S22,另一方面根據(jù)默認(rèn)布局模板和目標(biāo)頁面的URL執(zhí)行首次渲染操作,得到基本信息展示頁面,即步驟S23;待服務(wù)端返回頁面詳情數(shù)據(jù)時(shí),客戶端接收該頁面詳情數(shù)據(jù),如步驟S24;進(jìn)而在步驟S25中,客戶端解析上述頁面詳情數(shù)據(jù),以確定目標(biāo)頁面的組件數(shù)據(jù)和原始布局模板,并根據(jù)該組件數(shù)據(jù)和原始布局模板執(zhí)行二次渲染操作,得到目標(biāo)頁面的詳情信息展示頁面,上述二次渲染操作的具體步驟如上文步驟S12至S15所述,此處不再贅述。

可見,上述實(shí)施例中,客戶端分兩次執(zhí)行渲染操作,其中首次渲染操作不依賴服務(wù)端返回的數(shù)據(jù),可以在短時(shí)間內(nèi)執(zhí)行完畢,得到用于展示基本信息的頁面,避免在得到詳情信息展示頁面之前頁面顯示窗口出現(xiàn)較長時(shí)間的空白,提高用戶體驗(yàn)好感度。

在本申請(qǐng)另一個(gè)可行的實(shí)施例中,上述步驟S11中所述的確定目標(biāo)頁面的原始布局模板,可以包括如下步驟:

判斷對(duì)所述頁面詳情數(shù)據(jù)的解析結(jié)果中是否存在預(yù)設(shè)布局模板,如果存在所述預(yù)設(shè)布局模板,則確定所述預(yù)設(shè)布局模板為原始布局模板,否則確定所述默認(rèn)布局模板為所述原始布局模板。

其中,頁面詳情數(shù)據(jù)中,可以采用基于JavaScript語言的數(shù)據(jù)對(duì)象描述規(guī)則json(即JavaScript Object Notation)來記錄預(yù)設(shè)布局模板的相關(guān)數(shù)據(jù),也即預(yù)設(shè)布局模板相關(guān)的各個(gè)數(shù)據(jù)對(duì)象均以“名稱:值”的形式進(jìn)行記錄,多個(gè)數(shù)據(jù)對(duì)象構(gòu)成json串;相應(yīng)的,如圖3所示,可以通過以下步驟確定目標(biāo)頁面的原始布局模板:

S111、判斷所述頁面詳情數(shù)據(jù)中是否存在json串,如果存在,則執(zhí)行步驟S112,否則執(zhí)行步驟S115;

S112、解析所述頁面詳情數(shù)據(jù)中的json串;

S113、判斷所述json串是否可以成功解析,得到布局模板,如果可以成功解析,則執(zhí)行步驟S114,否則執(zhí)行步驟S115;

S114、將解析json串得到的布局模板標(biāo)記為目標(biāo)頁面的原始布局模板;

S115、將客戶端存儲(chǔ)的默認(rèn)布局模板標(biāo)記為目標(biāo)頁面的原始布局模板。

由以上步驟可知,如果頁面詳情數(shù)據(jù)中存在json串且可以成功解析得到布局模板,則解析得到的布局模板即為預(yù)設(shè)布局模板,即頁面詳情數(shù)據(jù)中存在預(yù)設(shè)布局模板,故將該預(yù)設(shè)布局模板標(biāo)記為目標(biāo)頁面的原始布局模板;如果不存在json串,或者無法成功解析json串,則判定頁面詳情數(shù)據(jù)中不存在預(yù)設(shè)布局模板,故將默認(rèn)布局模板標(biāo)記為目標(biāo)頁面的原始布局模板。

在本申請(qǐng)又一個(gè)可行的實(shí)施例中,上述步驟S13所述的根據(jù)所述組件實(shí)現(xiàn)類和組件數(shù)據(jù)生成對(duì)應(yīng)的組件描述項(xiàng),包括如下步驟:

根據(jù)實(shí)現(xiàn)類名與函數(shù)之間的預(yù)設(shè)第二映射查找所述組件實(shí)現(xiàn)類對(duì)應(yīng)的組件翻譯函數(shù);

調(diào)用所述組件翻譯函數(shù)對(duì)所述組件數(shù)據(jù)進(jìn)行處理,得到對(duì)應(yīng)的組件描述項(xiàng)。

由以上步驟可知,本申請(qǐng)實(shí)施例中客戶端預(yù)先設(shè)置有兩個(gè)映射表,其中一個(gè)記錄有組件鍵值和組件實(shí)現(xiàn)類的類名之間的映射關(guān)系,即上述第一映射,另一個(gè)記錄有組件實(shí)現(xiàn)類的類名與組件翻譯函數(shù)之間的映射關(guān)系,即上述第二映射。客戶端針對(duì)原始布局模板中的各個(gè)組件鍵值,分別執(zhí)行如下操作得到對(duì)應(yīng)的組件描述項(xiàng):基于上述第一映射查找組件鍵值對(duì)應(yīng)的組件實(shí)現(xiàn)類,進(jìn)而基于第二映射查找組件實(shí)現(xiàn)類中包含的組件翻譯函數(shù),初始化該組件翻譯函數(shù),讀取組件數(shù)據(jù)中的相應(yīng)字段作為輸入數(shù)據(jù)并運(yùn)行上述組件翻譯函數(shù),得到對(duì)應(yīng)的組件描述項(xiàng)。

上述基于映射表的查找方式,有利于實(shí)現(xiàn)組件的復(fù)用及擴(kuò)展,即當(dāng)根據(jù)產(chǎn)品展示需求,需要增加新的組件時(shí),只需在兩個(gè)映射表中添加相應(yīng)的映射關(guān)系,即可根據(jù)新增組件的鍵值查找到對(duì)應(yīng)的組件翻譯函數(shù),進(jìn)而得到對(duì)應(yīng)的組件描述項(xiàng)。

圖4為本申請(qǐng)實(shí)施例提供的一種客戶端頁面渲染裝置的結(jié)構(gòu)框圖。參照?qǐng)D4,該裝置包括:數(shù)據(jù)解析單元110、組件類查找單元120、組件翻譯單元130、目標(biāo)模板生成單元140和詳情信息渲染單元150。

該數(shù)據(jù)解析單元110被配置為,接收并解析服務(wù)端發(fā)送的頁面詳情數(shù)據(jù),確定目標(biāo)頁面的組件數(shù)據(jù)和原始布局模板。

該組件類查找單元120被配置為,根據(jù)鍵值與實(shí)現(xiàn)類名之間的預(yù)設(shè)第一映射查找所述原始布局模板中記錄的各個(gè)組件鍵值查找對(duì)應(yīng)的組件實(shí)現(xiàn)類。

該組件翻譯單元130被配置為,根據(jù)所述組件實(shí)現(xiàn)類和組件數(shù)據(jù)生成對(duì)應(yīng)的組件描述項(xiàng)。

該目標(biāo)模板生成單元140被配置為,匯總各個(gè)組件描述項(xiàng)生成目標(biāo)布局模板。

該詳情信息渲染單元150被配置為,根據(jù)所述目標(biāo)布局模板執(zhí)行渲染操作,得到目標(biāo)頁面的詳情信息展示頁面。

由以上技術(shù)方案可知,本申請(qǐng)實(shí)施例中原始布局模板僅記錄各個(gè)組件的鍵值及其位置信息,在執(zhí)行頁面渲染時(shí)由組件類查找單元根據(jù)鍵值查找對(duì)應(yīng)的實(shí)現(xiàn)類,使得同一組件對(duì)應(yīng)的實(shí)現(xiàn)類可以復(fù)用于不同的布局模板,因此當(dāng)出現(xiàn)新增產(chǎn)品時(shí),或者針對(duì)該新增產(chǎn)品設(shè)計(jì)對(duì)應(yīng)的預(yù)設(shè)布局模板,并將其添加在頁面詳情數(shù)據(jù)中返回至客戶端,而設(shè)計(jì)新增產(chǎn)品對(duì)應(yīng)的預(yù)設(shè)布局模板時(shí)只需考慮所需的組件鍵值和其在頁面中的位置,不需要考慮如何實(shí)現(xiàn)該組件,從而可以降低適用于新增產(chǎn)品的原始布局模板的設(shè)計(jì)難度;或者針對(duì)該新增產(chǎn)品設(shè)計(jì)特定的新增組件,并將其組件鍵值和組件實(shí)現(xiàn)類之間的映射關(guān)系添加至客戶端中,從而在不修改查詢代碼的前提下就可以查找調(diào)用新增組件的實(shí)現(xiàn)類。可見,本申請(qǐng)實(shí)施例可以降低布局模板的設(shè)計(jì)難度,組件和布局模板具有復(fù)用性和可擴(kuò)展性,在需要展示新增產(chǎn)品時(shí),不需要開發(fā)并發(fā)布新版客戶端,進(jìn)而可以提高客戶端的利用率,降低開發(fā)成本。

參照?qǐng)D5,在本申請(qǐng)其他實(shí)施例中,客戶端頁面渲染裝置還包括:基本信息渲染單元160。

該基本信息渲染單元160被配置為,在數(shù)據(jù)解析單元110接收到所述頁面詳情數(shù)據(jù)前,根據(jù)目標(biāo)頁面的統(tǒng)一資源定位符URL獲取頁面基本數(shù)據(jù),并根據(jù)客戶端存儲(chǔ)的默認(rèn)布局模板和頁面基本數(shù)據(jù)執(zhí)行渲染操作,得到目標(biāo)頁面的基本信息展示頁面。

可見,本申請(qǐng)實(shí)施例提供的客戶端頁面渲染裝置,在根據(jù)服務(wù)端返回的頁面詳情數(shù)據(jù)渲染得到詳情信息展示頁面前,先根據(jù)目標(biāo)頁面的URL及默認(rèn)布局模板執(zhí)行渲染操作,得到基本信息展示頁面,避免在得到詳情信息展示頁面之前頁面顯示窗口出現(xiàn)較長時(shí)間的空白,提高用戶體驗(yàn)好感度。

另外,對(duì)照上述數(shù)據(jù)層、組件化模板翻譯層和UI層三個(gè)邏輯層,上述數(shù)據(jù)解析單元屬于數(shù)據(jù)層,組件類查找單元、組件翻譯單元和目標(biāo)目標(biāo)生成單元屬于組件化模板翻譯層,詳情信息渲染單元及基本信息渲染單元均屬于UI層。

在本申請(qǐng)一個(gè)可行的實(shí)施例中,上述數(shù)據(jù)解析單元110至少包括:布局模板確定模塊;該布局模板確定模塊被配置為,判斷對(duì)所述頁面詳情數(shù)據(jù)的解析結(jié)果中是否存在預(yù)設(shè)布局模板,如果存在所述預(yù)設(shè)布局模板,則確定所述預(yù)設(shè)布局模板為原始布局模板,否則確定所述默認(rèn)布局模板為所述原始布局模板。

基于上述布局模板確定模塊,當(dāng)需要展示新增產(chǎn)品或服務(wù)時(shí),可以在對(duì)應(yīng)的頁面詳情數(shù)據(jù)中設(shè)置適用于該新增產(chǎn)品或服務(wù)的預(yù)設(shè)布局模板,從而布局模板確定模塊將給預(yù)設(shè)布局模板作為目標(biāo)頁面的原始布局模板,執(zhí)行組件數(shù)據(jù)處理及渲染操作,得到展示效果最佳的詳情信息展示頁面;而對(duì)于原有產(chǎn)品或服務(wù),頁面詳情數(shù)據(jù)中可以不設(shè)置布局模板相關(guān)的數(shù)據(jù),從而布局模板確定模塊將客戶端預(yù)存的默認(rèn)布局模板作為原始布局模板,由于該默認(rèn)布局模板是根據(jù)原有產(chǎn)品及服務(wù)設(shè)計(jì)的,故對(duì)于原有產(chǎn)品或服務(wù),采用默認(rèn)布局模板也可以得到展示效果很好的詳細(xì)信息展示頁面。

在本申請(qǐng)另一個(gè)可行的實(shí)施例中,上述組件翻譯單元130包括:翻譯函數(shù)查找模塊和組件數(shù)據(jù)處理模塊。

其中,該翻譯函數(shù)查找模塊被配置為,根據(jù)實(shí)現(xiàn)類名與函數(shù)之間的預(yù)設(shè)第二映射查找所述組件實(shí)現(xiàn)類對(duì)應(yīng)的組件翻譯函數(shù)。

該組件數(shù)據(jù)處理模塊被配置為,調(diào)用所述組件翻譯函數(shù)對(duì)所述組件數(shù)據(jù)進(jìn)行處理,得到對(duì)應(yīng)的組件描述項(xiàng)。

上述基于映射表的組件實(shí)現(xiàn)類及組件翻譯函數(shù)查找方式,有利于實(shí)現(xiàn)組件的復(fù)用及擴(kuò)展,即當(dāng)根據(jù)產(chǎn)品展示需求,需要增加新的組件時(shí),只需在兩個(gè)映射表中添加相應(yīng)的映射關(guān)系,即可根據(jù)新增組件的鍵值查找到對(duì)應(yīng)的組件翻譯函數(shù),進(jìn)而得到對(duì)應(yīng)的組件描述項(xiàng)。

關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。

另外,本申請(qǐng)實(shí)施例還提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),例如可以是ROM、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等;該計(jì)算機(jī)存儲(chǔ)介質(zhì)中存儲(chǔ)有程序,當(dāng)所述存儲(chǔ)介質(zhì)中的程序由終端設(shè)備的處理器執(zhí)行時(shí),使得終端設(shè)備能夠執(zhí)行上述方法實(shí)施例中記載的客戶端頁面渲染方法的部分或全部步驟。

本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途 或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本申請(qǐng)未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。

應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1