界面提供系統(tǒng)及界面提供方法
【技術(shù)領(lǐng)域】
[0001] 本申請涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種界面提供系統(tǒng)及界面提供方法。
【背景技術(shù)】
[0002] 隨著移動互聯(lián)技術(shù)的不斷發(fā)展,移動終端越來越普及,基于移動終端開發(fā)了大量 的應(yīng)用程序(AP巧。目前,移動終端APP(特別是針對化tiveAP巧的主要實(shí)現(xiàn)方式是在移 動終端中安裝APP客戶端,APP客戶端接收服務(wù)器端提供的數(shù)據(jù),并且通過APP客戶端將界 面和流程寫在客戶端本地,從而進(jìn)行加載和道染等操作。然而,送樣的實(shí)現(xiàn)方式存在如下缺 占. ;、、、·
[0003] 首先,對于每個APP客戶端開發(fā)來說,都需要去了解該APP客戶端的業(yè)務(wù)場景和流 程,例如運(yùn)行APP客戶端的移動終端的操作系統(tǒng)類型等,并且需要根據(jù)該APP客戶端的具體 特性來實(shí)現(xiàn),從而使得APP客戶端的開發(fā)速度較慢。
[0004] 其次,對于界面和流程的更新等,都必須要對APP客戶端進(jìn)行更新或升級。由于對 不同的移動終端與用戶來說,APP客戶端的版本往往有很多個,不能很好的統(tǒng)一。因此,界 面和流程的更新往往需要同時維護(hù)多個版本的APP客戶端,不僅導(dǎo)致業(yè)務(wù)更新不夠及時, 而且服務(wù)器端需要同時維護(hù)多個版本的APP客戶端也極大地增加了工作量。
[000引最后,由于界面和流程的相關(guān)程序都記錄在APP客戶端本地,因此很容易出現(xiàn)界 面注入和邏輯篡改等安全問題。
【發(fā)明內(nèi)容】
[0006] 本申請旨在至少在一定程度上解決現(xiàn)有技術(shù)中的上述技術(shù)問題之一。
[0007]為此,本申請的一個目的在于提出一種開發(fā)速度快、更新工作量小和安全性高的 界面提供系統(tǒng)。
[0008] 本申請實(shí)施例的第一方面提出一種界面提供系統(tǒng),包括:服務(wù)器和客戶端,其中, 該服務(wù)器,用于生成界面描述數(shù)據(jù),并根據(jù)該客戶端的請求將該界面描述數(shù)據(jù)和腳本數(shù)據(jù) 發(fā)送至該客戶端,其中,該界面描述數(shù)據(jù)基于JS0N格式生成并用于生成界面,該腳本數(shù)據(jù) 用于在被執(zhí)行時將該客戶端中的API接口與該界面中的界面元素進(jìn)行關(guān)聯(lián),該界面描述數(shù) 據(jù)包括界面類型數(shù)據(jù)、控件樣式數(shù)據(jù)CSS、菜單內(nèi)容數(shù)據(jù)和布局?jǐn)?shù)據(jù);該客戶端,用于接收 并加載該界面描述數(shù)據(jù),并執(zhí)行該腳本數(shù)據(jù)。
[0009] 在本申請的實(shí)施例中,界面提供系統(tǒng)具有W下Η方面的技術(shù)效果。
[0010] 1)提高了界面的開發(fā)速度
[0011] 在本申請的實(shí)施例中,服務(wù)器基于JS0N格式直接生成統(tǒng)一的界面描述數(shù)據(jù),并將 界面描述數(shù)據(jù)和腳本數(shù)據(jù)發(fā)送至客戶端。因此服務(wù)器可W生成格式統(tǒng)一的界面描述數(shù)據(jù), 本申請從而界面的開發(fā)無需關(guān)注界面運(yùn)行平臺的具體特性,進(jìn)而提高了界面的開發(fā)速度。
[0012] 2)降低了更新界面所需的工作量
[001引在本申請的實(shí)施例中,界面描述數(shù)據(jù)均基于JS0N格式生成,由于JS0N格式具有極 強(qiáng)的可擴(kuò)展性和通用性,因此在各個平臺上均可w很好的進(jìn)行加載。送就使得無需隨著服 務(wù)器的內(nèi)容更新而更新客戶端,從而減小界面更新所需的工作量。
[0014] 3)提高了界面的安全性
[0015] 在本申請的實(shí)施例中,由于界面描述數(shù)據(jù)和腳本數(shù)據(jù)均在服務(wù)器中生成,即界面 和流程的相關(guān)數(shù)據(jù)都記錄在服務(wù)器遠(yuǎn)端而非APP客戶端本地,進(jìn)而,避免了界面注入和邏 輯篡改等安全性問題的出現(xiàn)。
[0016] 在本申請的一個具體實(shí)施例中,該布局?jǐn)?shù)據(jù)包括垂直布局?jǐn)?shù)據(jù)和/或水平布局?jǐn)?shù) 據(jù),該垂直布局?jǐn)?shù)據(jù)包括至少一個垂直布局塊,每個該垂直布局塊包括基本元素數(shù)據(jù)和/ 或水平布局子數(shù)據(jù),該水平布局?jǐn)?shù)據(jù)包括至少一個水平布局塊,每個該水平布局塊包括基 本元素數(shù)據(jù)和/或垂直布局子數(shù)據(jù)。
[0017] 優(yōu)選地,在本申請實(shí)施例的界面提供系統(tǒng)中,該界面類型數(shù)據(jù)包括;小窗口類型數(shù) 據(jù)window、全屏界面類型數(shù)據(jù)化llscreen、提示類型數(shù)據(jù)toast和彈框類型數(shù)據(jù)dialog。
[0018] 優(yōu)選地,在本申請實(shí)施例的界面提供系統(tǒng)中,該基本元素數(shù)據(jù)包括;控件類型數(shù) 據(jù)、控件名稱數(shù)據(jù)name、控件值數(shù)據(jù)value、控件樣式子數(shù)據(jù)和顯示判斷數(shù)據(jù)display。
[0019]此外,在本申請實(shí)施例的界面提供系統(tǒng)中,該腳本數(shù)據(jù)還用于根據(jù)用戶針對該客 戶端生成的界面輸入的操作指令調(diào)用該客戶端對應(yīng)的API接口,或者向該服務(wù)器反饋該操 作指令W控制該界面進(jìn)行相應(yīng)跳轉(zhuǎn)。
[0020] 本申請實(shí)施例的第二方面提出一種界面提供方法,包括:服務(wù)器生成界面描述數(shù) 據(jù),并根據(jù)客戶端的請求將該界面描述數(shù)據(jù)和腳本數(shù)據(jù)發(fā)送至該客戶端;客戶端接收并加 載該界面描述數(shù)據(jù),并執(zhí)行該腳本數(shù)據(jù),其中,該界面描述數(shù)據(jù)基于JS0N格式生成并用于 生成界面,該界面描述數(shù)據(jù)包括界面類型數(shù)據(jù)、控件樣式數(shù)據(jù)CSS、菜單內(nèi)容數(shù)據(jù)和布局?jǐn)?shù) 據(jù)。
[0021] 在本申請的實(shí)施例中,界面提供方法具有W下Η方面的技術(shù)效果。
[0022] 1)提高了界面的開發(fā)速度
[0023] 在本申請的實(shí)施例中,服務(wù)器基于JS0N格式直接生成統(tǒng)一的界面描述數(shù)據(jù),并將 界面描述數(shù)據(jù)和腳本數(shù)據(jù)發(fā)送至客戶端。因此服務(wù)器可W生成格式統(tǒng)一的界面描述數(shù)據(jù), 本申請從而使得界面的開發(fā)無需關(guān)注界面運(yùn)行平臺的具體特性,進(jìn)而提高了界面的開發(fā)速 度。
[0024] 2)降低了更新界面所需的工作量
[00巧]在本申請的實(shí)施例中,界面描述數(shù)據(jù)均基于JS0N格式生成,由于JS0N格式具有極 強(qiáng)的可擴(kuò)展性和通用性,因此在各個平臺上均可W很好的進(jìn)行加載。送就使得無需隨著服 務(wù)器的內(nèi)容更新而更新客戶端,從而減小界面更新所需的工作量。
[0026] 3)提高了界面的安全性
[0027] 在本申請的實(shí)施例中,由于界面描述數(shù)據(jù)和腳本數(shù)據(jù)均在服務(wù)器中生成,即界面 和流程的相關(guān)數(shù)據(jù)都記錄在服務(wù)器遠(yuǎn)端而非ΑΡΡ客戶端本地,進(jìn)而,避免了界面注入和邏 輯篡改等安全性問題的出現(xiàn)。
[0028] 本申請實(shí)施例的第Η方面提出一種服務(wù)器,包括:界面描述數(shù)據(jù)生成模塊,用于生 成界面描述數(shù)據(jù)和腳本數(shù)據(jù);發(fā)送模塊,用于根據(jù)客戶端的請求將該界面描述數(shù)和腳本數(shù) 據(jù)發(fā)送至該客戶端,其中,該腳本數(shù)據(jù)用于在被執(zhí)行時將該客戶端中的API接口與該界面 中的界面元素進(jìn)行關(guān)聯(lián),該界面描述數(shù)據(jù)基于JSON格式生成,該界面描述數(shù)據(jù)包括界面類 型數(shù)據(jù)、控件樣式數(shù)據(jù)CSS、菜單內(nèi)容數(shù)據(jù)和布局?jǐn)?shù)據(jù)。
[0029] 本申請實(shí)施例的第四方面提出一種客戶端,包括:接收模塊,用于接收界面描述數(shù) 據(jù)和腳本數(shù)據(jù);加載模塊,用于加載該界面描述數(shù)據(jù)并執(zhí)行該腳本數(shù)據(jù),其中,該腳本數(shù)據(jù) 用于在被執(zhí)行時將該客戶端中的API接口與該界面中的界面元素進(jìn)行關(guān)聯(lián),該界面描述數(shù) 據(jù)基于JS0N格式生成,該界面描述數(shù)據(jù)包括界面類型數(shù)據(jù)、控件樣式數(shù)據(jù)CSS、菜單內(nèi)容數(shù) 據(jù)和布局?jǐn)?shù)據(jù)。
【附圖說明】
[0030] 圖1是根據(jù)本申請實(shí)施例的界面提供系統(tǒng)的結(jié)構(gòu)示意圖;圖2是根據(jù)本申請實(shí)施 例的界面提供系統(tǒng)的布局?jǐn)?shù)據(jù)之間的關(guān)系的示意圖;
[0031] 圖3是根據(jù)本申請實(shí)施例的界面提供系統(tǒng)的垂直布局?jǐn)?shù)據(jù)的示意圖;
[0032] 圖4是根據(jù)本申請實(shí)施例的界面提供系統(tǒng)的基本元素數(shù)據(jù)的示意圖;
[0033] 圖5是根據(jù)本申請實(shí)施例的界面提供系統(tǒng)的水平布局?jǐn)?shù)據(jù)的示意圖;
[0034] 圖6是根據(jù)本申請實(shí)施例的界面提供方法的流程圖;W及
[0035] 圖7是根據(jù)本申請實(shí)施例的界面提供系統(tǒng)的效果圖。
【具體實(shí)施方式】
[0036] 下面詳細(xì)描述本申請的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實(shí)施例是示例性的,旨在用于解釋本申請,而不能理解為對本申請的限制。
[0037] 在本申請的描述中,"多個"的含義是兩個或兩個W上,除非另有明確具體的限定。 此外,對于本領(lǐng)域的普通技術(shù)人員而言,可W根據(jù)具體情況理解上述術(shù)語在本申請中的具 體含義。
[0038] 下面參照附圖來描述根據(jù)本申請實(shí)施例提出的界面提供系統(tǒng)和界面提供方法。
[0039] 圖1是根據(jù)本申請實(shí)施例的界面提供系統(tǒng)的結(jié)