本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種頁面更新方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)和智能終端技術(shù)的發(fā)展,各種應(yīng)用已經(jīng)普及到大眾生活的方方面面,例如,觀影、購(gòu)物、支付、社交、提供各種資訊等等。目前這些智能終端的應(yīng)用常采用本地應(yīng)用(nativeapp)實(shí)現(xiàn),本地應(yīng)用是通過使用原生操作系統(tǒng)提供的api(applicationprogramminginterface,應(yīng)用程序編程接口)編程實(shí)現(xiàn),可以保證應(yīng)用的高性能和良好的交互體驗(yàn)。
然而,現(xiàn)有的本地應(yīng)用中頁面的交互行為(如交互跳轉(zhuǎn))在智能終端固化,如果想改變應(yīng)用的交互行為,必須依賴運(yùn)營(yíng)商對(duì)不同平臺(tái)(安卓系統(tǒng)或ios系統(tǒng)等)下的發(fā)版的修改,智能終端再重新安裝本地應(yīng)用。例如,愛奇藝播放app的頁面中的第三方登錄按鈕,當(dāng)前點(diǎn)擊該按鈕后鏈接的是通過qq來登錄,如果想實(shí)現(xiàn)點(diǎn)擊該按鈕后鏈接的是通過新浪郵箱來登錄,則需要愛奇藝開發(fā)人員針對(duì)不同平臺(tái)的版本進(jìn)行修改,然后重新發(fā)布新版應(yīng)用,用戶重新在智能終端安裝新版的應(yīng)用??梢?,本地應(yīng)用的交互行為嚴(yán)重依賴應(yīng)用的發(fā)版,如果想更改頁面的交互行為,需要重新對(duì)不同平臺(tái)下的應(yīng)用全部進(jìn)行開發(fā),導(dǎo)致開發(fā)成本較高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種頁面更新方法及裝置,以降低更改頁面交互行為的開發(fā)成本。具體技術(shù)方案如下:
第一方面,本發(fā)明實(shí)施例提供的一種頁面更新方法,應(yīng)用于服務(wù)器,所述方法包括:
當(dāng)獲得客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),確定所述目標(biāo)頁面的頁面數(shù)據(jù);其中,所述頁面數(shù)據(jù)包括:事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù),所述事件關(guān)聯(lián)關(guān)系為關(guān)于所述頁面元素?cái)?shù)據(jù)與所述點(diǎn)擊事件數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
向所述客戶端反饋所述頁面數(shù)據(jù),以使所述客戶端根據(jù)所述頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染所述目標(biāo)頁面。
可選的,所述頁面數(shù)據(jù)還包括:樣式關(guān)聯(lián)關(guān)系,所述樣式關(guān)聯(lián)關(guān)系為關(guān)于所述頁面元素?cái)?shù)據(jù)與樣式描述數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
所述向所述客戶端反饋所述頁面數(shù)據(jù),以使所述客戶端根據(jù)所述頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染所述目標(biāo)頁面的步驟,包括:
向所述客戶端反饋所述頁面數(shù)據(jù),以使所述客戶端從本地存儲(chǔ)的多個(gè)樣式描述數(shù)據(jù)中,獲取與所述樣式關(guān)聯(lián)關(guān)系相對(duì)應(yīng)的目標(biāo)樣式描述數(shù)據(jù),并根據(jù)所述頁面數(shù)據(jù)所包括的各類數(shù)據(jù),以及所述目標(biāo)樣式描述數(shù)據(jù)渲染所述目標(biāo)頁面。
可選的,所述方法還包括:
向所述客戶端發(fā)送待同步的樣式描述數(shù)據(jù),以使所述客戶端利用所接收到的待同步的樣式描述數(shù)據(jù),更新所述客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)。
可選的,所述方法還包括:
接收修改本地存儲(chǔ)的待同步的樣式描述數(shù)據(jù)的第一修改指令;
根據(jù)所述第一修改指令修改本地存儲(chǔ)的待同步的樣式描述數(shù)據(jù)。
可選的,所述目標(biāo)頁面的頁面數(shù)據(jù)的生成方式,包括:
確定所述目標(biāo)頁面的頁面模板;
獲取所述目標(biāo)頁面的業(yè)務(wù)數(shù)據(jù);
根據(jù)所述頁面模板,將所述業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù);
將轉(zhuǎn)換成的事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)組合成所述目標(biāo)頁面的頁面數(shù)據(jù)。
可選的,所述目標(biāo)頁面的頁面數(shù)據(jù)的生成方式,包括:
確定所述目標(biāo)頁面的頁面模板;
獲取所述目標(biāo)頁面的業(yè)務(wù)數(shù)據(jù);
根據(jù)所述頁面模板,將所述業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù);
將轉(zhuǎn)換成的樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)組合成所述目標(biāo)頁面的頁面數(shù)據(jù)。
可選的,所述數(shù)據(jù)獲取請(qǐng)求中攜帶目標(biāo)標(biāo)識(shí)信息,其中,所述目標(biāo)標(biāo)識(shí)信息為所述客戶端本地存儲(chǔ)的每個(gè)樣式描述數(shù)據(jù)的第一目標(biāo)標(biāo)識(shí),和/或,所述客戶端的版本標(biāo)識(shí);
所述當(dāng)獲得客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),確定所述目標(biāo)頁面的頁面數(shù)據(jù)的步驟,包括:
當(dāng)獲得客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),提取所述數(shù)據(jù)獲取請(qǐng)求中的目標(biāo)標(biāo)識(shí)信息;
確定所述目標(biāo)頁面的頁面模板;
獲取所述目標(biāo)頁面的業(yè)務(wù)數(shù)據(jù);
根據(jù)所述頁面模板,將所述業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù);
根據(jù)所述目標(biāo)標(biāo)識(shí)信息所對(duì)應(yīng)的預(yù)設(shè)過濾規(guī)則,確定待過濾頁面元素?cái)?shù)據(jù)、點(diǎn)擊事件數(shù)據(jù)、樣式關(guān)聯(lián)關(guān)系中的關(guān)系描述、事件關(guān)聯(lián)關(guān)系中的關(guān)系描述;
從轉(zhuǎn)換成的樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)中,過濾所確定出的待過濾的各類數(shù)據(jù),并將剩余的各類數(shù)據(jù)組合成所述目標(biāo)頁面的頁面數(shù)據(jù)。
可選的,所述方法還包括:
接收修改所述頁面模板的第二修改指令;
根據(jù)所述第二修改指令修改所述頁面模板。
第二方面,本發(fā)明實(shí)施例提供的一種頁面更新方法,應(yīng)用于客戶端,所述方法包括:
向服務(wù)器發(fā)送關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求,以使所述服務(wù)器在獲得關(guān)于所述目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求后,確定所述目標(biāo)頁面的頁面數(shù)據(jù),并向所述客戶端反饋所述頁面數(shù)據(jù);其中,所述頁面數(shù)據(jù)包括:事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù),所述事件關(guān)聯(lián)關(guān)系為關(guān)于所述頁面元素?cái)?shù)據(jù)與所述點(diǎn)擊事件數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
接收所述服務(wù)器反饋的所述頁面數(shù)據(jù);
根據(jù)所述頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染所述目標(biāo)頁面。
可選的,所述頁面數(shù)據(jù)還包括:樣式關(guān)聯(lián)關(guān)系,所述樣式關(guān)聯(lián)關(guān)系為關(guān)于所述頁面元素?cái)?shù)據(jù)與樣式描述數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
所述根據(jù)所述頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染所述目標(biāo)頁面的步驟,包括:
從本地存儲(chǔ)的多個(gè)樣式描述數(shù)據(jù)中,獲取與所述樣式關(guān)聯(lián)關(guān)系相對(duì)應(yīng)的目標(biāo)樣式描述數(shù)據(jù);
根據(jù)所述頁面數(shù)據(jù)所包括的各類數(shù)據(jù),以及所述目標(biāo)樣式描述數(shù)據(jù)渲染所述目標(biāo)頁面。
可選的,所述方法還包括:
接收所述服務(wù)器發(fā)送的待同步的樣式描述數(shù)據(jù);
利用所接收到的待同步的樣式描述數(shù)據(jù),更新所述客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)。
第三方面,本發(fā)明實(shí)施例提供的一種頁面更新裝置,應(yīng)用于服務(wù)器,所述裝置包括:
第一確定模塊,用于當(dāng)獲得客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),確定所述目標(biāo)頁面的頁面數(shù)據(jù);其中,所述頁面數(shù)據(jù)包括:事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù),所述事件關(guān)聯(lián)關(guān)系為關(guān)于所述頁面元素?cái)?shù)據(jù)與所述點(diǎn)擊事件數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
反饋模塊,用于向所述客戶端反饋所述頁面數(shù)據(jù),以使所述客戶端根據(jù)所述頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染所述目標(biāo)頁面。
第四方面,本發(fā)明實(shí)施例提供的一種頁面更新裝置,應(yīng)用于客戶端,所述裝置包括:
第二發(fā)送模塊,用于向服務(wù)器發(fā)送關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求,以使所述服務(wù)器在獲得關(guān)于所述目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求后,確定所述目標(biāo)頁面的頁面數(shù)據(jù),并向所述客戶端反饋所述頁面數(shù)據(jù);其中,所述頁面數(shù)據(jù)包括:事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù),所述事件關(guān)聯(lián)關(guān)系為關(guān)于所述頁面元素?cái)?shù)據(jù)與所述點(diǎn)擊事件數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
渲染模塊,用于根據(jù)所述頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染所述目標(biāo)頁面。
本發(fā)明實(shí)施例提供了一種頁面更新方法及裝置,上述頁面更新方法中,服務(wù)器在接收到客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),確定目標(biāo)頁面的頁面數(shù)據(jù);并向客戶端反饋頁面數(shù)據(jù),以使客戶端根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染目標(biāo)頁面。應(yīng)用本發(fā)明實(shí)施例所提供的技術(shù)方案,使得客戶端的頁面的交互行為不依賴客戶端的發(fā)版,而是由服務(wù)器控制。當(dāng)需要更改頁面的交互行為時(shí),只需要對(duì)服務(wù)器的代碼進(jìn)行開發(fā)即可實(shí)現(xiàn),不需要對(duì)不同平臺(tái)的客戶端進(jìn)行代碼開發(fā),開發(fā)成本大大降低。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的頁面更新方法的第一種流程示意圖;
圖2為本發(fā)明實(shí)施例中生成目標(biāo)頁面的頁面數(shù)據(jù)的第一種流程示意圖;
圖3為本發(fā)明實(shí)施例中生成目標(biāo)頁面的頁面數(shù)據(jù)的第二種流程示意圖;
圖4為本發(fā)明實(shí)施例中實(shí)現(xiàn)s101的流程示意圖;
圖5為本發(fā)明實(shí)施例提供的頁面更新方法的第二種流程示意圖;
圖6為本發(fā)明實(shí)施例提供的頁面更新裝置的第一種結(jié)構(gòu)示意圖;
圖7為生成模塊的第一種結(jié)構(gòu)示意圖;
圖8為生成模塊的第二種結(jié)構(gòu)示意圖;
圖9為第一確定模塊的結(jié)構(gòu)示意圖;
圖10為本發(fā)明實(shí)施例提供的頁面更新裝置的第二種結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為了能夠降低更改頁面交互行為的開發(fā)成本,本發(fā)明實(shí)施例提供了一種頁面更新方法及裝置。
下面,首先對(duì)本發(fā)明實(shí)施例提供的一種頁面更新方法進(jìn)行詳細(xì)說明。
參照?qǐng)D1,圖1為本發(fā)明實(shí)施例提供的頁面更新方法的第一種流程示意圖,該方法應(yīng)用于服務(wù)器,包括以下幾個(gè)步驟:
s101、當(dāng)獲得客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),確定目標(biāo)頁面的頁面數(shù)據(jù);
其中,頁面數(shù)據(jù)包括:事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù),事件關(guān)聯(lián)關(guān)系為關(guān)于頁面元素?cái)?shù)據(jù)與點(diǎn)擊事件數(shù)據(jù)的關(guān)聯(lián)關(guān)系。
頁面元素?cái)?shù)據(jù)與渲染后頁面上顯示的頁面元素對(duì)應(yīng)。頁面元素?cái)?shù)據(jù)有多種類型,主要有page、card、block、video、image、meta、button等不同等級(jí)的數(shù)據(jù),其中,page、card、block類型的數(shù)據(jù)對(duì)應(yīng)于客戶端頁面的邏輯結(jié)構(gòu),video、image、meta、button類型的數(shù)據(jù)對(duì)應(yīng)于客戶端頁面上的各相關(guān)控件,例如,一個(gè)button數(shù)據(jù)就對(duì)應(yīng)頁面上中的一個(gè)按鈕。點(diǎn)擊事件數(shù)據(jù)是描述點(diǎn)擊后觸發(fā)的行為和行為所需要的參數(shù)的數(shù)據(jù)。根據(jù)事件關(guān)聯(lián)關(guān)系中關(guān)于頁面元素?cái)?shù)據(jù)與點(diǎn)擊事件數(shù)據(jù)的關(guān)聯(lián)關(guān)系,例如,一個(gè)button數(shù)據(jù)與跳轉(zhuǎn)到電視劇首頁的數(shù)據(jù)關(guān)聯(lián),另一個(gè)video的數(shù)據(jù)與播放對(duì)應(yīng)視頻的數(shù)據(jù)關(guān)聯(lián)。
可以理解的是,根據(jù)記錄方式的不同,頁面元素?cái)?shù)據(jù)和事件關(guān)聯(lián)關(guān)系可以是分開記錄的,也可以將事件關(guān)聯(lián)關(guān)系在頁面元素?cái)?shù)據(jù)中指定,在此不做具體限定。
具體的,數(shù)據(jù)獲取請(qǐng)求中可以攜帶目標(biāo)頁面的標(biāo)識(shí),用于服務(wù)器根據(jù)這個(gè)標(biāo)識(shí)從本地存儲(chǔ)的頁面數(shù)據(jù)中來確定對(duì)應(yīng)的頁面數(shù)據(jù),例如,在愛奇藝首頁(http://www.iqiyi.com/)上部的標(biāo)題列表中,點(diǎn)擊“電視劇”標(biāo)題,即愛奇藝客戶端向服務(wù)器發(fā)送關(guān)于電視劇首頁的數(shù)據(jù)獲取請(qǐng)求,電視劇首頁可以看做是目標(biāo)頁面的標(biāo)識(shí),服務(wù)器從本地確定電視劇首頁的頁面數(shù)據(jù)。當(dāng)然,目標(biāo)頁面的頁面數(shù)據(jù)也可以不是預(yù)先存儲(chǔ)的,而是在接收到數(shù)據(jù)獲取請(qǐng)求后,根據(jù)這個(gè)標(biāo)識(shí)來重新生成對(duì)應(yīng)的頁面數(shù)據(jù),以確定為目標(biāo)頁面的頁面數(shù)據(jù)。
s102、向客戶端反饋頁面數(shù)據(jù),以使客戶端根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染目標(biāo)頁面。
客戶端根據(jù)頁面數(shù)據(jù)中所包括的事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù),事件關(guān)聯(lián)關(guān)系為關(guān)于頁面元素?cái)?shù)據(jù)與點(diǎn)擊事件數(shù)據(jù)的關(guān)聯(lián)關(guān)系渲染頁面??蛻舳烁鶕?jù)頁面元素?cái)?shù)據(jù)渲染使得目標(biāo)頁面上展示頁面元素?cái)?shù)據(jù)對(duì)應(yīng)的頁面元素,并將點(diǎn)擊事件數(shù)據(jù)對(duì)應(yīng)的交互行為綁定到,與該點(diǎn)擊事件關(guān)聯(lián)的頁面元素?cái)?shù)據(jù)對(duì)應(yīng)的頁面元素上。使得用戶點(diǎn)擊渲染后的目標(biāo)頁面上綁定了交互行為的頁面元素后,會(huì)觸發(fā)頁面元素?cái)?shù)據(jù)所關(guān)聯(lián)的點(diǎn)擊事件數(shù)據(jù)所對(duì)應(yīng)的事件。觸發(fā)相應(yīng)的事件后,常會(huì)出現(xiàn)兩種情況:一種是交互行為結(jié)束后,頁面仍舊停留在當(dāng)前頁面,另一種利用本發(fā)明實(shí)施例所提供的技術(shù)方案,將頁面更新到所要跳轉(zhuǎn)的頁面,實(shí)現(xiàn)頁面跳轉(zhuǎn)。需要說明的是,這里的點(diǎn)擊可以理解為廣義的點(diǎn)擊,包括常規(guī)的點(diǎn)擊操作和常規(guī)的滑動(dòng)操作。
應(yīng)用圖1所示實(shí)施例,服務(wù)器在接收到客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),確定目標(biāo)頁面的頁面數(shù)據(jù);并向客戶端反饋頁面數(shù)據(jù),以使客戶端根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染目標(biāo)頁面。使得客戶端的頁面的交互行為的更改不依賴客戶端的發(fā)版,而是由服務(wù)器控制。當(dāng)需要更改頁面的交互行為時(shí),只需要對(duì)服務(wù)器的代碼進(jìn)行開發(fā)即可實(shí)現(xiàn),不需要對(duì)不同平臺(tái)的客戶端進(jìn)行代碼開發(fā),開發(fā)成本大大降低。另外,還可以降低客戶端對(duì)業(yè)務(wù)邏輯的依賴程度,業(yè)務(wù)邏輯主要由服務(wù)器實(shí)現(xiàn)。
實(shí)際應(yīng)用中,如果客戶端請(qǐng)求的目標(biāo)頁面對(duì)應(yīng)的頁面數(shù)據(jù)包括:一個(gè)圖片數(shù)據(jù)、一個(gè)愛奇藝首頁的按鈕數(shù)據(jù);點(diǎn)擊事件關(guān)聯(lián)關(guān)系中記錄圖片數(shù)據(jù)與放大圖片所需要的參數(shù)的關(guān)聯(lián)關(guān)系,以及愛奇藝首頁的按鈕數(shù)據(jù)與跳轉(zhuǎn)到愛奇藝首頁所需要的參數(shù)的關(guān)聯(lián)關(guān)系;一個(gè)點(diǎn)擊事件數(shù)據(jù)為放大圖片所需要的參數(shù),另一個(gè)點(diǎn)擊事件數(shù)據(jù)為跳轉(zhuǎn)到愛奇藝首頁所需要的參數(shù)。渲染這個(gè)目標(biāo)頁面后,目標(biāo)頁面上會(huì)顯示一個(gè)圖片和一個(gè)愛奇藝首頁按鈕,點(diǎn)擊這個(gè)圖片后,會(huì)將這個(gè)圖片放大;點(diǎn)擊愛奇藝按鈕后,會(huì)跳轉(zhuǎn)至愛奇藝首頁的頁面。
本實(shí)施例的一種實(shí)施方式中,頁面數(shù)據(jù)還包括:樣式關(guān)聯(lián)關(guān)系,樣式關(guān)聯(lián)關(guān)系為關(guān)于頁面元素?cái)?shù)據(jù)與樣式描述數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
向客戶端反饋頁面數(shù)據(jù),以使客戶端根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染目標(biāo)頁面的步驟,可以包括:
向客戶端反饋頁面數(shù)據(jù),以使客戶端從本地存儲(chǔ)的多個(gè)樣式描述數(shù)據(jù)中,獲取與樣式關(guān)聯(lián)關(guān)系相對(duì)應(yīng)的目標(biāo)樣式描述數(shù)據(jù),并根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù),以及目標(biāo)樣式描述數(shù)據(jù)渲染目標(biāo)頁面。
樣式描述數(shù)據(jù)包括兩類:一類是樣式數(shù)據(jù),另一類是布局?jǐn)?shù)據(jù)。樣式數(shù)據(jù)用于描述頁面元素?cái)?shù)據(jù)中對(duì)應(yīng)各控件的樣式,如顏色、高度、邊距等,布局?jǐn)?shù)據(jù)用于描述頁面元素?cái)?shù)據(jù)中對(duì)應(yīng)的邏輯結(jié)構(gòu)的布局規(guī)則。
目標(biāo)樣式描述數(shù)據(jù)是樣式關(guān)聯(lián)關(guān)系對(duì)應(yīng)的樣式描述數(shù)據(jù),是用于描述對(duì)應(yīng)頁面數(shù)據(jù)中頁面元素?cái)?shù)據(jù)對(duì)應(yīng)的頁面元素的樣式和/或布局規(guī)則的數(shù)據(jù)。例如,樣式關(guān)聯(lián)關(guān)系中,所有button數(shù)據(jù)與某個(gè)樣式描述數(shù)據(jù)的標(biāo)識(shí)對(duì)應(yīng),根據(jù)這個(gè)標(biāo)識(shí)可以從客戶端本地存儲(chǔ)的多個(gè)樣式描述數(shù)據(jù)中,獲取這個(gè)樣式描述數(shù)據(jù),這個(gè)樣式描述數(shù)據(jù)限定了button數(shù)據(jù)對(duì)應(yīng)的按鈕的形狀是圓形的,顏色是綠色的,半徑是10mm,則渲染目標(biāo)頁面后,在目標(biāo)頁面上展示的所有按鈕均為圓形的、綠色的、半徑為10mm。
可以理解的是,根據(jù)記錄方式的不同,頁面元素?cái)?shù)據(jù)和樣式關(guān)聯(lián)關(guān)系可以是分開記錄的,也可以將樣式關(guān)聯(lián)關(guān)系在頁面元素?cái)?shù)據(jù)中指定,在此不做具體限定。
客戶端根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù),以及目標(biāo)樣式描述數(shù)據(jù)渲染目標(biāo)頁面渲染頁面。渲染后的頁面在客戶端展示,頁面元素?cái)?shù)據(jù)對(duì)應(yīng)所展示頁面上的頁面元素,頁面元素的樣式由目標(biāo)樣式描述數(shù)據(jù)確定,而目標(biāo)樣式描述數(shù)據(jù)是由服務(wù)器控制選擇的,所以實(shí)現(xiàn)了由服務(wù)器控制頁面樣式的目的。另外,樣式描述數(shù)據(jù)與頁面元素?cái)?shù)據(jù)分開設(shè)置,便于實(shí)現(xiàn)樣式描述數(shù)據(jù)的動(dòng)態(tài)更新,也就是便于實(shí)現(xiàn)頁面樣式的動(dòng)態(tài)更新。
本實(shí)施方式中,客戶端根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù),以及目標(biāo)樣式描述數(shù)據(jù)渲染目標(biāo)頁面后,不僅可以使得客戶端頁面的交互行為的更改不依賴客戶端的發(fā)版,而是由服務(wù)器控制;還可以使得客戶端所展示的頁面樣式的更改不依賴客戶端的發(fā)版,而是由服務(wù)器控制目標(biāo)頁面的樣式。更改客戶端的頁面的交互行為和/或樣式,均不需要對(duì)不同平臺(tái)的客戶端進(jìn)行代碼開發(fā),只需要對(duì)服務(wù)端進(jìn)行代碼開發(fā)即可,開發(fā)成本大大降低。
實(shí)際應(yīng)用中,如果客戶端請(qǐng)求的目標(biāo)頁面對(duì)應(yīng)的頁面數(shù)據(jù)包括:十個(gè)圖片數(shù)據(jù)、一個(gè)愛奇藝首頁的按鈕數(shù)據(jù);點(diǎn)擊事件關(guān)聯(lián)關(guān)系中記錄每個(gè)圖片數(shù)據(jù)與放大該圖片所需要的參數(shù)的關(guān)聯(lián)關(guān)系,愛奇藝首頁的按鈕數(shù)據(jù)與跳轉(zhuǎn)到愛奇藝首頁所需要的參數(shù)的關(guān)聯(lián)關(guān)系;與每個(gè)圖片對(duì)應(yīng)的點(diǎn)擊事件數(shù)據(jù)為放大該圖片所需要的參數(shù),與愛奇藝首頁的按鈕數(shù)據(jù)對(duì)應(yīng)的點(diǎn)擊事件數(shù)據(jù)為跳轉(zhuǎn)到愛奇藝首頁所需要的參數(shù);樣式關(guān)聯(lián)關(guān)系為每個(gè)圖片數(shù)據(jù)與描述該圖片樣式和/或布局?jǐn)?shù)據(jù)的關(guān)聯(lián)關(guān)系,以及愛奇藝首頁的按鈕與這個(gè)按鈕的樣式和/或布局?jǐn)?shù)據(jù)的關(guān)聯(lián)關(guān)系??蛻舳烁鶕?jù)樣式關(guān)聯(lián)關(guān)系從客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)中,獲得對(duì)應(yīng)的目標(biāo)樣式描述數(shù)據(jù)包括:每個(gè)圖片在頁面中的位置(頁面中上部,分兩行顯示,每行五個(gè)),每個(gè)圖片的形狀、大小(圓形、半徑10mm),以及愛奇藝首頁的按鈕的位置、形狀、大小(頁面下部、長(zhǎng)方形、15*20mm)。這樣客戶端根據(jù)獲得的頁面數(shù)據(jù)和目標(biāo)樣式描述數(shù)據(jù),渲染得到的目標(biāo)頁面中,圖片在頁面的中上部分兩行且每行五個(gè)顯示,每個(gè)圖片為圓形,半徑10mm,愛奇藝首頁的按鈕在頁面的下部顯示,呈15*20mm的長(zhǎng)方形。點(diǎn)擊任一個(gè)圖片,將放大該圖片,點(diǎn)擊按奇藝首頁的按鈕,將跳轉(zhuǎn)至愛奇藝首頁。
進(jìn)一步的,該頁面更新方法還可以包括:
向客戶端發(fā)送待同步的樣式描述數(shù)據(jù),以使客戶端利用所接收到的待同步的樣式描述數(shù)據(jù),更新客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)。
通過本步驟可以更新客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù),可以提高頁面的樣式由服務(wù)器控制的程度,進(jìn)而可以使頁面展現(xiàn)更多的樣式。
具體應(yīng)用時(shí),待同步的樣式描述數(shù)據(jù)可以是服務(wù)器本地存儲(chǔ)的全部樣式描述數(shù)據(jù),也可以服務(wù)器本地存儲(chǔ)的部分樣式描述數(shù)據(jù),在此不做具體限定。如果服務(wù)器本地存儲(chǔ)的樣式描述數(shù)據(jù)有更新,可以將本地更新的樣式描述數(shù)據(jù)確定為待更新的樣式描述數(shù)據(jù)。服務(wù)器可以主動(dòng)將待同步的樣式描述數(shù)據(jù)發(fā)送給客戶端;也可以由客戶端定時(shí)向服務(wù)器發(fā)送更新請(qǐng)求,使得服務(wù)器發(fā)送待更新的樣式描述數(shù)據(jù)給客戶端,在此不做具體限定。
更進(jìn)一步的,頁面更新方法還可以包括以下兩個(gè)步驟:
(1)、接收修改本地存儲(chǔ)的待同步的樣式描述數(shù)據(jù)的第一修改指令;
(2)、根據(jù)第一修改指令修改本地存儲(chǔ)的待同步的樣式描述數(shù)據(jù)。
通過上述(1)和(2)這兩個(gè)步驟,對(duì)服務(wù)器本地存儲(chǔ)的待同步的樣式描述數(shù)據(jù)的修改,使得服務(wù)器可以獲得不同內(nèi)容的待同步的樣式描述數(shù)據(jù)。通過服務(wù)器向客戶端發(fā)送待同步的樣式描述數(shù)據(jù),以使客戶端利用所接收到的待同步的樣式描述數(shù)據(jù),更新客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù),不僅可以實(shí)現(xiàn)客戶端樣式描述數(shù)據(jù)由服務(wù)器控制,還可以使客戶端通過更新獲得不同的樣式描述數(shù)據(jù),實(shí)現(xiàn)不同頁面樣式??梢岳斫獾氖?,這里的修改包括:刪除、增加、替換等等操作,在此不做具體限定。
可選的,當(dāng)頁面數(shù)據(jù)包括:事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)時(shí),參照?qǐng)D2,圖2為本發(fā)明實(shí)施例中生成目標(biāo)頁面的頁面數(shù)據(jù)的第一種流程示意圖,生成目標(biāo)頁面的頁面數(shù)據(jù)的步驟,可以包括:
s201、確定目標(biāo)頁面的頁面模板;
頁面模板即頁面框架,可以是預(yù)先存儲(chǔ)在服務(wù)器本地的,當(dāng)然,也可以是在接收到關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求后,針對(duì)目標(biāo)頁面進(jìn)行重新配置的,在此不做具體限定。另外,頁面模板中可以定義業(yè)務(wù)數(shù)據(jù)的來源,業(yè)務(wù)數(shù)據(jù)的類型,業(yè)務(wù)數(shù)據(jù)的個(gè)數(shù),點(diǎn)擊事件等。
s202、獲取目標(biāo)頁面的業(yè)務(wù)數(shù)據(jù);
本步驟可以根據(jù)目標(biāo)頁面的頁面模板中定義的來源,如從各個(gè)業(yè)務(wù)系統(tǒng)(搜索、推薦、廣告系統(tǒng)等)獲取業(yè)務(wù)數(shù)據(jù)。
s203、根據(jù)頁面模板,將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù);
其中,在獲得頁面模板和業(yè)務(wù)數(shù)據(jù)后,可以將業(yè)務(wù)數(shù)據(jù)填充到頁面模板的相應(yīng)位置,并將填充了業(yè)務(wù)數(shù)據(jù)的頁面模板轉(zhuǎn)換成事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)。
s204、將轉(zhuǎn)換成的事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)組合成目標(biāo)頁面的頁面數(shù)據(jù)。
應(yīng)用圖2所示的具體實(shí)施方式,可以在服務(wù)器生成目標(biāo)頁面的頁面數(shù)據(jù),只要通過開發(fā)不同的頁面模板,即可生成不同的頁面數(shù)據(jù),以使客戶端通過頁面渲染,實(shí)現(xiàn)頁面不同的交互行為的更改。
可選的,當(dāng)頁面數(shù)據(jù)包括:樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)時(shí),參照?qǐng)D3,圖3為本發(fā)明實(shí)施例中生成目標(biāo)頁面的頁面數(shù)據(jù)的第二種流程示意圖,生成目標(biāo)頁面的頁面數(shù)據(jù)的步驟,可以包括:
s301、確定目標(biāo)頁面的頁面模板;
頁面模板即頁面框架,可以是預(yù)先存儲(chǔ)在服務(wù)器本地的,當(dāng)然,也可以是在接收到關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求后,針對(duì)目標(biāo)頁面進(jìn)行重新配置的,在此不做具體限定。頁面模板中定義了業(yè)務(wù)數(shù)據(jù)的來源,業(yè)務(wù)數(shù)據(jù)的類型,業(yè)務(wù)數(shù)據(jù)的個(gè)數(shù),點(diǎn)擊事件、頁面的布局和樣式等。
s302、獲取目標(biāo)頁面的業(yè)務(wù)數(shù)據(jù);
本步驟可以根據(jù)目標(biāo)頁面的頁面模板中定義的來源,如從各個(gè)業(yè)務(wù)系統(tǒng)(搜索、推薦、廣告系統(tǒng)等)獲取業(yè)務(wù)數(shù)據(jù)。
s303、根據(jù)頁面模板,將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù);
其中,在獲得頁面模板和業(yè)務(wù)數(shù)據(jù)后,可以將業(yè)務(wù)數(shù)據(jù)填充到頁面模板的相應(yīng)位置,并將填充了業(yè)務(wù)數(shù)據(jù)的頁面模板轉(zhuǎn)換成樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)。
s304、將轉(zhuǎn)換成的樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)組合成目標(biāo)頁面的頁面數(shù)據(jù)。
應(yīng)用圖3所示的具體實(shí)施方式,設(shè)置生成目標(biāo)頁面的頁面數(shù)據(jù)的步驟,可以在服務(wù)器生成目標(biāo)頁面的頁面數(shù)據(jù),只要通過開發(fā)不同的頁面模板,即可生成不同的頁面數(shù)據(jù),以使客戶端通過頁面渲染,實(shí)現(xiàn)頁面不同的交互行為和/或頁面樣式的更改。
可選的,參照?qǐng)D4,圖4為本發(fā)明實(shí)施例中實(shí)現(xiàn)s101的流程示意圖,數(shù)據(jù)獲取請(qǐng)求中攜帶目標(biāo)標(biāo)識(shí)信息,其中,目標(biāo)標(biāo)識(shí)信息為客戶端本地存儲(chǔ)的每個(gè)樣式描述數(shù)據(jù)的第一目標(biāo)標(biāo)識(shí),和/或,客戶端的版本標(biāo)識(shí);
s101具體可以通過以下幾個(gè)步驟實(shí)現(xiàn):
s1011、當(dāng)獲得客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),提取數(shù)據(jù)獲取請(qǐng)求中的目標(biāo)標(biāo)識(shí)信息;
需要說明的是,目標(biāo)標(biāo)識(shí)信息為客戶端本地存儲(chǔ)的每個(gè)樣式描述數(shù)據(jù)的第一目標(biāo)標(biāo)識(shí)時(shí),可以用客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)的版本號(hào)來統(tǒng)一表示每個(gè)樣式描述數(shù)據(jù)的第一目標(biāo)標(biāo)識(shí);當(dāng)然,也可以單獨(dú)設(shè)置每個(gè)樣式描述數(shù)據(jù)的標(biāo)識(shí),例如,用該樣式描述數(shù)據(jù)的版本號(hào)加上該樣式描述數(shù)據(jù)在該版本中的位置來表示,在此不做具體限定。
s1012、確定目標(biāo)頁面的頁面模板;
s1013、獲取目標(biāo)頁面的業(yè)務(wù)數(shù)據(jù);
s1014、根據(jù)頁面模板,將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù);
上述步驟中,s1012、s1013和s1014分別與s301、s302和s302相同,在此不做贅述。
s1015、根據(jù)目標(biāo)標(biāo)識(shí)信息所對(duì)應(yīng)的預(yù)設(shè)過濾規(guī)則,確定待過濾的頁面元素?cái)?shù)據(jù)、點(diǎn)擊事件數(shù)據(jù)、樣式關(guān)聯(lián)關(guān)系中的關(guān)系描述、事件關(guān)聯(lián)關(guān)系中的關(guān)系描述;
其中,預(yù)設(shè)過濾規(guī)則中規(guī)定了如何根據(jù)目標(biāo)標(biāo)識(shí)信息,確定待過濾的各類數(shù)據(jù)。
當(dāng)目標(biāo)標(biāo)識(shí)信息為第一目標(biāo)標(biāo)識(shí),第一目標(biāo)標(biāo)識(shí)對(duì)應(yīng)的預(yù)設(shè)過濾規(guī)則可以規(guī)定:針對(duì)樣式關(guān)聯(lián)關(guān)系中對(duì)應(yīng)的任一個(gè)樣式描述數(shù)據(jù),如果該樣式描述數(shù)據(jù)的標(biāo)識(shí)與第一目標(biāo)標(biāo)識(shí)不匹配,根據(jù)樣式關(guān)聯(lián)關(guān)系,確定這個(gè)樣式描述數(shù)據(jù)對(duì)應(yīng)的頁面元素?cái)?shù)據(jù)是待過濾的頁面元素?cái)?shù)據(jù);根據(jù)事件關(guān)聯(lián)關(guān)系,確定與待過濾的頁面元素?cái)?shù)據(jù)對(duì)應(yīng)的點(diǎn)擊事件數(shù)據(jù)是待過濾的點(diǎn)擊事件數(shù)據(jù);樣式關(guān)聯(lián)關(guān)系和事件關(guān)聯(lián)關(guān)系中,涉及待過濾的頁面元素?cái)?shù)據(jù)的關(guān)系描述為待過濾的關(guān)系描述。具體使用時(shí),例如,客戶端存儲(chǔ)的樣式描述數(shù)據(jù)對(duì)應(yīng)的第一目標(biāo)標(biāo)識(shí)是統(tǒng)一用樣式描述數(shù)據(jù)對(duì)應(yīng)的版本號(hào)表示的,如果樣式關(guān)聯(lián)關(guān)系中對(duì)應(yīng)的各個(gè)樣式描述數(shù)據(jù)的版本標(biāo)識(shí)與目標(biāo)標(biāo)識(shí)信息中的版本號(hào)不同則認(rèn)為不匹配。
當(dāng)目標(biāo)標(biāo)識(shí)信息為客戶端版本標(biāo)識(shí),客戶端版本標(biāo)識(shí)對(duì)應(yīng)的預(yù)設(shè)過濾規(guī)則可以規(guī)定:客戶端版本標(biāo)識(shí)對(duì)應(yīng)哪個(gè)或哪些頁面元素?cái)?shù)據(jù)是待過濾的頁面元素?cái)?shù)據(jù);根據(jù)事件關(guān)聯(lián)關(guān)系,與待過濾的頁面元素?cái)?shù)據(jù)對(duì)應(yīng)的點(diǎn)擊事件數(shù)據(jù)是待過濾的點(diǎn)擊事件數(shù)據(jù);樣式關(guān)聯(lián)關(guān)系和事件關(guān)聯(lián)關(guān)系中涉及待過濾的頁面元素?cái)?shù)據(jù)的關(guān)系描述。
需要說明的是,當(dāng)目標(biāo)標(biāo)識(shí)信息為第一目標(biāo)標(biāo)識(shí)和客戶端版本信息時(shí),可以將上述兩種規(guī)則合并在一起,組成新的預(yù)設(shè)過濾規(guī)則。
s1016、從轉(zhuǎn)換成的樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)中,過濾所確定出的待過濾的各類數(shù)據(jù),并將剩余的各類數(shù)據(jù)組合成目標(biāo)頁面的頁面數(shù)據(jù)。
通過s1011-s1016,對(duì)根據(jù)頁面模板轉(zhuǎn)換成的樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)的這些數(shù)據(jù)進(jìn)行過濾,通過具體的預(yù)設(shè)過濾規(guī)則,不僅可以實(shí)現(xiàn)針對(duì)不同的客戶端展示不同的頁面元素,以及正確的展示這些頁面元素。同時(shí),還可以用于控制在目標(biāo)頁面中哪些頁面元素漏出,哪些頁面元素不漏出。
本發(fā)明實(shí)施例的一種實(shí)施方式中,頁面更新方法還可以包括以下兩個(gè)步驟:
(1)、接收修改頁面模板的第二修改指令;
(2)、根據(jù)第二修改指令修改頁面模板。
通過上述(1)和(2)這兩個(gè)步驟對(duì)頁面模板進(jìn)行修改,可以用于根據(jù)不同的業(yè)務(wù)需求,配置不同的頁面模板,不需要通過代碼開發(fā)即可實(shí)現(xiàn)頁面樣式的更改,降低開發(fā)成本,可以提高服務(wù)器對(duì)客戶端的頁面樣式的控制程度??梢岳斫獾氖?,這里的修改包括:刪除、增加、替換等等操作,在此不做具體限定。
相對(duì)于上述方法實(shí)施例,依據(jù)同樣的發(fā)明思路,本發(fā)明實(shí)施例提供了一種頁面更新方法,參照?qǐng)D5,圖5本發(fā)明實(shí)施例提供的頁面更新方法的第二種流程示意圖,該方法應(yīng)用于客戶端,包括:
s501、向服務(wù)器發(fā)送關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求,以使服務(wù)器在獲得關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求后,確定目標(biāo)頁面的頁面數(shù)據(jù),并向客戶端反饋頁面數(shù)據(jù);其中,頁面數(shù)據(jù)包括:事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù),事件關(guān)聯(lián)關(guān)系為關(guān)于頁面元素?cái)?shù)據(jù)與點(diǎn)擊事件數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
通過本步驟可從服務(wù)器獲取到目標(biāo)頁面的頁面數(shù)據(jù),用于渲染頁面。當(dāng)然,服務(wù)器中可以預(yù)先存儲(chǔ)目標(biāo)頁面的頁面數(shù)據(jù),也可以在接收到客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),再生成目標(biāo)頁面的頁面數(shù)據(jù),在此不做具體限定。
s502、接收服務(wù)器反饋的頁面數(shù)據(jù);
s503、根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染目標(biāo)頁面。
通過本步驟對(duì)目標(biāo)頁面進(jìn)行渲染,目標(biāo)頁面上展示頁面元素?cái)?shù)據(jù)對(duì)應(yīng)的頁面元素,并將點(diǎn)擊事件數(shù)據(jù)對(duì)應(yīng)的交互行為綁定到,與該點(diǎn)擊事件關(guān)聯(lián)的頁面元素?cái)?shù)據(jù)對(duì)應(yīng)的頁面元素上。使得用戶點(diǎn)擊渲染后的目標(biāo)頁面上綁定了交互行為的頁面元素后,會(huì)觸發(fā)頁面數(shù)據(jù)所關(guān)聯(lián)的點(diǎn)擊事件數(shù)據(jù)所對(duì)應(yīng)的事件。
應(yīng)用圖5所示實(shí)施例,客戶端向服務(wù)器發(fā)送關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求后,使得服務(wù)器在獲得數(shù)據(jù)獲取請(qǐng)求后,確定目標(biāo)頁面的頁面數(shù)據(jù),并反饋給客戶端??蛻舳烁鶕?jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染目標(biāo)頁面。使得客戶端的頁面的交互行為的更改不依賴客戶端的發(fā)版,而是由服務(wù)器控制。當(dāng)需要更改頁面的交互行為時(shí),只需要對(duì)服務(wù)器的代碼進(jìn)行開發(fā)即可實(shí)現(xiàn),不需要對(duì)不同平臺(tái)的客戶端進(jìn)行代碼開發(fā),開發(fā)成本大大降低。
本發(fā)明實(shí)施例的一種實(shí)施方式中,頁面數(shù)據(jù)還包括:樣式關(guān)聯(lián)關(guān)系,樣式關(guān)聯(lián)關(guān)系為關(guān)于頁面元素?cái)?shù)據(jù)與樣式描述數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染目標(biāo)頁面,包括:
(1)、從本地存儲(chǔ)的多個(gè)樣式描述數(shù)據(jù)中,獲取與樣式關(guān)聯(lián)關(guān)系相對(duì)應(yīng)的目標(biāo)樣式描述數(shù)據(jù);
本步驟具體應(yīng)用時(shí),客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)可以通過表格的形式存儲(chǔ),表格的版本號(hào)可以作為本地存儲(chǔ)的全部樣式描述數(shù)據(jù)所屬的版本號(hào),采用版本號(hào)加上在表格中排列的位置即可以作為樣式描述數(shù)據(jù)的標(biāo)識(shí),用于從表格中查找到對(duì)應(yīng)的樣式描述數(shù)據(jù)。例如,樣式關(guān)聯(lián)關(guān)系表中與一個(gè)button數(shù)據(jù)對(duì)應(yīng)的第二版本第二條的樣式描述數(shù)據(jù),本地存儲(chǔ)第二版本的表格的第二條對(duì)應(yīng)的樣式描述數(shù)據(jù)限定形狀為方形,與這個(gè)button數(shù)據(jù)對(duì)應(yīng)的樣式描述數(shù)據(jù)就是限定對(duì)應(yīng)頁面元素為方形的數(shù)據(jù)。當(dāng)然,還可以采用其他方式對(duì)樣式描述數(shù)據(jù)進(jìn)行存儲(chǔ)、獲取,在此不做具體限定。
(2)、根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù),以及目標(biāo)樣式描述數(shù)據(jù)渲染目標(biāo)頁面。
本步驟中,渲染時(shí),頁面元素的樣式都是根據(jù)目標(biāo)樣式描述數(shù)據(jù)所限定的樣式來確定的,實(shí)現(xiàn)由服務(wù)器控制頁面樣式的目的。
本發(fā)明實(shí)施例的一種實(shí)施方式中,頁面更新方法還可以包括:
(1)、接收服務(wù)器發(fā)送的待同步的樣式描述數(shù)據(jù);
(2)、利用所接收到的待同步的樣式描述數(shù)據(jù),更新客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)。
通過本實(shí)施方式中(1)和(2)兩個(gè)步驟,可以更新客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù),可以提高頁面的樣式由服務(wù)器控制的程度,進(jìn)而可以使頁面展現(xiàn)更多的樣式。
另外,服務(wù)器可以主動(dòng)向客戶端發(fā)送待同步的樣式描述數(shù)據(jù),具體實(shí)施時(shí),當(dāng)服務(wù)器主動(dòng)向客戶端發(fā)送待同步的樣式描述數(shù)據(jù)時(shí),可以是服務(wù)器判斷本地存儲(chǔ)的樣式描述數(shù)據(jù)是否有更新,如果有更新,則將更新后的樣式描述數(shù)據(jù)作為待同步的樣式數(shù)據(jù)發(fā)送給客戶端。當(dāng)然,也可以在客戶端請(qǐng)求待同步的樣式描述數(shù)據(jù)的情況下,再向客戶端發(fā)送待同步的樣式描述數(shù)據(jù)。
其中,當(dāng)客戶端請(qǐng)求待同步的樣式描述數(shù)據(jù)的情況下,再向客戶端發(fā)送待同步的樣式描述數(shù)據(jù)時(shí),可以通過以下方式實(shí)現(xiàn):
(1)、在客戶端啟動(dòng)時(shí),客戶端接收服務(wù)器發(fā)送的待同步的樣式描述數(shù)據(jù)的目標(biāo)版本信息,客戶端判斷本地存儲(chǔ)的樣式描述數(shù)據(jù)的版本信息與目標(biāo)版本信息是否一致;
本步驟中,客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)可以作為一個(gè)整體來存儲(chǔ),該整體屬于一個(gè)版本,服務(wù)器本地存儲(chǔ)的待同步的樣式描述數(shù)據(jù)可以為一個(gè)整體來存儲(chǔ),該整體屬于一個(gè)版本;判斷兩個(gè)版本信息是否一致,可以判斷出這兩端存儲(chǔ)的樣式數(shù)據(jù)是否相同。當(dāng)然,還可以采用其他方式進(jìn)行存儲(chǔ)樣式描述數(shù)據(jù)以及記錄樣式描述數(shù)據(jù),在此不做具體限定。
(2)、判斷結(jié)果為一致時(shí),客戶端不更新本地存儲(chǔ)的樣式描述文件;判斷結(jié)果為不一致時(shí),向服務(wù)器發(fā)送獲取待同步的樣式描述數(shù)據(jù)的請(qǐng)求,以使服務(wù)器向客戶端反饋待同步的樣式描述數(shù)據(jù);
上一步驟的判斷結(jié)果如果一致,說明不需要更新,也就不需要向服務(wù)器請(qǐng)求待同步的樣式描述數(shù)據(jù)。判斷結(jié)果不一致,說明需要更新,客戶端主動(dòng)向服務(wù)器發(fā)送獲取待同步的樣式描述數(shù)據(jù)的請(qǐng)求。這樣就使得只有在需要更新這種特定情況下,服務(wù)器才會(huì)向客戶端發(fā)送待同步的樣式描述數(shù)據(jù),可以節(jié)省網(wǎng)絡(luò)資源。
(3)、接收服務(wù)器發(fā)送的待同步的樣式描述數(shù)據(jù);
接收服務(wù)器在客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)需要更新的情況下才發(fā)送的待同步的樣式描述數(shù)據(jù),所接受到的待同步的樣式描述數(shù)據(jù)與客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)是不一樣的。
(4)、利用所接收到的待同步的樣式描述數(shù)據(jù),更新客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)。
通過本步驟完成本地存儲(chǔ)的樣式描述數(shù)據(jù)的更新。
上述方式實(shí)施例中,可以看出,客戶端與業(yè)務(wù)邏輯耦合程度較小,大部分的業(yè)務(wù)邏輯都是由客戶端完成,這樣就降低了對(duì)客戶端發(fā)版的依賴。
下面,再對(duì)本發(fā)明實(shí)施例提供的一種頁面更新裝置進(jìn)行詳細(xì)說明。
相應(yīng)于上述從服務(wù)器角度所提供的頁面更新方法,本發(fā)明實(shí)施例提供了一種頁面更新裝置,參照?qǐng)D6,圖6本發(fā)明實(shí)施例提供的頁面更新裝置的第一種結(jié)構(gòu)示意圖,該頁面更新裝置應(yīng)用于服務(wù)器,包括:
第一確定模塊61,用于當(dāng)獲得客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),確定目標(biāo)頁面的頁面數(shù)據(jù);其中,頁面數(shù)據(jù)包括:事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù),事件關(guān)聯(lián)關(guān)系為關(guān)于頁面元素?cái)?shù)據(jù)與點(diǎn)擊事件數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
反饋模塊62,用于向客戶端反饋頁面數(shù)據(jù),以使客戶端根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染目標(biāo)頁面。
應(yīng)用圖6所示實(shí)施例,服務(wù)器在接收到客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),確定目標(biāo)頁面的頁面數(shù)據(jù);并向客戶端反饋頁面數(shù)據(jù),以使客戶端根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染目標(biāo)頁面。使得客戶端的頁面的交互行為的更改不依賴客戶端的發(fā)版,而是由服務(wù)器控制。當(dāng)需要更改頁面的交互行為時(shí),只需要對(duì)服務(wù)器的代碼進(jìn)行開發(fā)即可實(shí)現(xiàn),不需要對(duì)不同平臺(tái)的客戶端進(jìn)行代碼開發(fā),開發(fā)成本大大降低。
本發(fā)明實(shí)施例的一種實(shí)施方式中,頁面數(shù)據(jù)還包括:樣式關(guān)聯(lián)關(guān)系,樣式關(guān)聯(lián)關(guān)系為關(guān)于頁面元素?cái)?shù)據(jù)與樣式描述數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
反饋模塊62,具體用于向客戶端反饋頁面數(shù)據(jù),以使客戶端從本地存儲(chǔ)的多個(gè)樣式描述數(shù)據(jù)中,獲取與樣式關(guān)聯(lián)關(guān)系相對(duì)應(yīng)的目標(biāo)樣式描述數(shù)據(jù),并根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù),以及目標(biāo)樣式描述數(shù)據(jù)渲染目標(biāo)頁面。
本發(fā)明實(shí)施例的一種實(shí)施方式中,該頁面更新裝置還包括:
第一發(fā)送模塊,用于向客戶端發(fā)送待同步的樣式描述數(shù)據(jù),以使客戶端利用所接收到的待同步的樣式描述數(shù)據(jù),更新客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)。
本發(fā)明實(shí)施例的一種實(shí)施方式中,該頁面更新裝置還包括:
第一接收模塊,用于接收修改本地存儲(chǔ)的待同步的樣式描述數(shù)據(jù)的第一修改指令;
第一修改模塊,用于根據(jù)第一修改指令修改本地存儲(chǔ)的待同步的樣式描述數(shù)據(jù)。
本發(fā)明實(shí)施例的一種實(shí)施方式中,該頁面更新裝置還可以包括:生成模塊,用于生成目標(biāo)頁面的頁面數(shù)據(jù),參照?qǐng)D7,圖7為生成模塊的第一種結(jié)構(gòu)示意圖,生成模塊可以包括:
第一確定單元71,用于確定目標(biāo)頁面的頁面模板;
第一獲取單元72,用于獲取目標(biāo)頁面的業(yè)務(wù)數(shù)據(jù);
第一轉(zhuǎn)換單元73,用于根據(jù)頁面模板,將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù);
第一組合單元74,用于將轉(zhuǎn)換成的事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)組合成目標(biāo)頁面的頁面數(shù)據(jù)。
本發(fā)明實(shí)施例的一種實(shí)施方式中,該頁面更新裝置還可以包括:生成模塊,用于生成目標(biāo)頁面的頁面數(shù)據(jù),參照?qǐng)D8,圖8為生成模塊的第二種結(jié)構(gòu)示意圖,生成模塊可以包括:
第二確定單元81,用于確定目標(biāo)頁面的頁面模板;
第二獲取單元82,用于獲取目標(biāo)頁面的業(yè)務(wù)數(shù)據(jù);
第二轉(zhuǎn)換單元83,用于根據(jù)頁面模板,將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù);
第二組合單元84,用于將轉(zhuǎn)換成的樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)組合成目標(biāo)頁面的頁面數(shù)據(jù)。。
本發(fā)明實(shí)施例的一種實(shí)施方式中,數(shù)據(jù)獲取請(qǐng)求中攜帶目標(biāo)標(biāo)識(shí)信息,其中,目標(biāo)標(biāo)識(shí)信息為客戶端本地存儲(chǔ)的每個(gè)樣式描述數(shù)據(jù)的第一目標(biāo)標(biāo)識(shí),和/或,客戶端的版本標(biāo)識(shí);
參照?qǐng)D9,圖9為第一確定模塊的結(jié)構(gòu)示意圖,其中,第一確定模塊61,可以包括:
提取單元611,用于當(dāng)獲得客戶端發(fā)送的關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求時(shí),提取數(shù)據(jù)獲取請(qǐng)求中的目標(biāo)標(biāo)識(shí)信息;
第三確定單元612,用于確定目標(biāo)頁面的頁面模板;
第三獲取單元613,用于獲取目標(biāo)頁面的業(yè)務(wù)數(shù)據(jù);
第三轉(zhuǎn)換單元614,用于根據(jù)頁面模板,將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù);
第四確定單元615,用于根據(jù)目標(biāo)標(biāo)識(shí)信息所對(duì)應(yīng)的預(yù)設(shè)過濾規(guī)則,確定待過濾的頁面元素?cái)?shù)據(jù)、點(diǎn)擊事件數(shù)據(jù)、樣式關(guān)聯(lián)關(guān)系中的關(guān)系描述、事件關(guān)聯(lián)關(guān)系中的關(guān)系描述;
第三組合單元616,用于從轉(zhuǎn)換成的樣式關(guān)聯(lián)關(guān)系、事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù)中,過濾所確定出的待過濾的各類數(shù)據(jù),并將剩余的各類數(shù)據(jù)組合成目標(biāo)頁面的頁面數(shù)據(jù)。
本發(fā)明實(shí)施例的一種實(shí)施方式中,還包括:
第二接收模塊,用于接收修改頁面模板的第二修改指令;
第二修改模塊,用于根據(jù)第二修改指令修改頁面模板。
相應(yīng)于上述從客戶端角度所提供的頁面更新方法,本發(fā)明實(shí)施例提供了一種頁面更新裝置,參照?qǐng)D10,圖10為本發(fā)明實(shí)施例提供的頁面更新裝置的第二種結(jié)構(gòu)示意圖,該裝置應(yīng)用于客戶端,包括:
第二發(fā)送模塊101,用于向服務(wù)器發(fā)送關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求,以使服務(wù)器在獲得關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求后,確定目標(biāo)頁面的頁面數(shù)據(jù),并向客戶端反饋頁面數(shù)據(jù);其中,頁面數(shù)據(jù)包括:事件關(guān)聯(lián)關(guān)系、至少一個(gè)頁面元素?cái)?shù)據(jù)和至少一個(gè)點(diǎn)擊事件數(shù)據(jù),事件關(guān)聯(lián)關(guān)系為關(guān)于頁面元素?cái)?shù)據(jù)與點(diǎn)擊事件數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
渲染模塊102,用于根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù)渲染目標(biāo)頁面。
應(yīng)用圖10所示實(shí)施例,客戶端向服務(wù)器發(fā)送關(guān)于目標(biāo)頁面的數(shù)據(jù)獲取請(qǐng)求后,使得服務(wù)器在獲得數(shù)據(jù)獲取請(qǐng)求后,確定目標(biāo)頁面的頁面數(shù)據(jù),并反饋給客戶端??蛻舳烁鶕?jù)頁面數(shù)據(jù)渲染目標(biāo)頁面。使得客戶端的頁面的交互行為的更改不依賴客戶端的發(fā)版,而是由服務(wù)器控制。當(dāng)需要更改頁面的交互行為時(shí),只需要對(duì)服務(wù)器的代碼進(jìn)行開發(fā)即可實(shí)現(xiàn),不需要對(duì)不同平臺(tái)的客戶端進(jìn)行代碼開發(fā),開發(fā)成本大大降低。
本發(fā)明實(shí)施例的一種實(shí)施方式中,頁面數(shù)據(jù)還包括:樣式關(guān)聯(lián)關(guān)系,樣式關(guān)聯(lián)關(guān)系為關(guān)于頁面元素?cái)?shù)據(jù)與樣式描述數(shù)據(jù)的關(guān)聯(lián)關(guān)系;
本發(fā)明實(shí)施例的一種實(shí)施方式中,渲染模塊102,包括:第四獲取單元和渲染單元(圖中未示出)。
第四獲取單元,用于從本地存儲(chǔ)的多個(gè)樣式描述數(shù)據(jù)中,獲取與樣式關(guān)聯(lián)關(guān)系相對(duì)應(yīng)的目標(biāo)樣式描述數(shù)據(jù);
渲染單元,用于根據(jù)頁面數(shù)據(jù)所包括的各類數(shù)據(jù),以及目標(biāo)樣式描述數(shù)據(jù)渲染目標(biāo)頁面。
本發(fā)明實(shí)施例的一種實(shí)施方式中,該裝置還包括:第二接收模塊和更新模塊。
第二接收模塊,用于接收服務(wù)器發(fā)送的待同步的樣式描述數(shù)據(jù);
更新模塊,用于利用所接收到的待同步的樣式描述數(shù)據(jù),更新客戶端本地存儲(chǔ)的樣式描述數(shù)據(jù)。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。