本發(fā)明涉及通信領(lǐng)域,具體涉及一種web界面生成控制方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的高速發(fā)展,web相關(guān)技術(shù)日漸成熟,應(yīng)用幾乎統(tǒng)治了絕大部分的軟件應(yīng)用系統(tǒng),各種企業(yè)級(jí)的應(yīng)用系統(tǒng)都轉(zhuǎn)向web化,通過web瀏覽器訪問服務(wù)器的方式實(shí)現(xiàn)業(yè)務(wù)流程。而為了滿足業(yè)務(wù)需求的復(fù)雜性、界面的統(tǒng)一、美觀,特發(fā)明一種WEB界面上通過配置文件動(dòng)態(tài)生成臨時(shí)界面的方法。
由于業(yè)務(wù)的復(fù)雜性,導(dǎo)致開發(fā)者為了滿足各種業(yè)務(wù)需求需要編寫很多的頁面,但是這些頁面也存在大同小異,比如在某流程界面的開發(fā)上,流程的每一步都需要一個(gè)界面,還有針對(duì)流程的增、改等等操作,而這些動(dòng)作界面都是大同小異。都需要呈現(xiàn),流程的基本信息,流程的以往操作步驟中的操作信息,流程當(dāng)前步驟的操作信息等。同時(shí),每個(gè)操作步驟的操作信息也會(huì)存在大同小異,都是一些,當(dāng)前操作人,當(dāng)前操作時(shí)間,當(dāng)前操作結(jié)果,當(dāng)前操作備注等等。
目前都是采用每個(gè)頁面都單獨(dú)寫一組代碼,這樣每個(gè)步驟都需要一個(gè)單獨(dú)的頁面,同時(shí)增加操作和修改操作等也都需要一個(gè)單獨(dú)的頁面,這樣就會(huì)導(dǎo)致以下問題:
1、針對(duì)每個(gè)步驟或者操作都需要單獨(dú)寫一個(gè)頁面,這樣會(huì)有大量的代碼重復(fù),增加編寫代碼的難度,同時(shí)這些代碼也全部需要維護(hù),這樣也不知不覺的增加了代碼的維護(hù)難度。
2、由于代碼的重復(fù)出現(xiàn),也會(huì)增加開發(fā)修改不完善導(dǎo)致的開發(fā)故障,導(dǎo)致 故障始終不容易收斂。例如需要做一個(gè)比較小的改動(dòng),則需要大面積的修改,且修改的地方很多處,容易漏改,導(dǎo)致開發(fā)故障。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的主要技術(shù)問題是,提供一種web界面生成控制方法及裝置,解決現(xiàn)有生成web界面時(shí)需編寫大量的重復(fù)代碼,導(dǎo)致開發(fā)難度和維護(hù)難度大的問題。
為解決上述技術(shù)問題,本發(fā)明提供一種web界面生成控制方法,包括:
生成總的面板組件;
從所述總的面板組件中確定出當(dāng)前業(yè)務(wù)各步驟的web界面所需的目標(biāo)面板組件,并根據(jù)所述目標(biāo)面板組件生成所述業(yè)務(wù)的界面配置文件;
根據(jù)所述界面配置文件在所述業(yè)務(wù)當(dāng)前的步驟調(diào)用相應(yīng)的目標(biāo)面板組件生成該步驟的web界面。
在本發(fā)明的一種實(shí)施例中,定義生成總面板組件包括:
確定所有業(yè)務(wù)的各web界面涉及的面板組件,一個(gè)面板組件為一個(gè)類型的信息在界面上的布局;
對(duì)相同的面板組件進(jìn)行去重處理;
生成去重處理后的所有面板組件得到總的面板組件。
在本發(fā)明的一種實(shí)施例中,從所述總的面板組件中確定出當(dāng)前業(yè)務(wù)各web界面所需的目標(biāo)面板組件包括:
確定當(dāng)前業(yè)務(wù)各步驟對(duì)應(yīng)的web界面;
確定所述各web界面所需的面板組件;
從所述總的面板組件中選擇出對(duì)應(yīng)的面板組件作為各web界面的目標(biāo)面板 組件。
在本發(fā)明的一種實(shí)施例中,所述界面配置文件包括:當(dāng)前業(yè)務(wù)各web界面對(duì)應(yīng)的目標(biāo)面板組件清單、各web界面的各目標(biāo)面板組件之間的位置關(guān)系,或進(jìn)一步包括各web界面的各目標(biāo)面板組件的屬性設(shè)置信息。
在本發(fā)明的一種實(shí)施例中,還包括生成顯示各步驟入口的視圖信息。
在本發(fā)明的一種實(shí)施例中,根據(jù)所述界面配置文件在所述業(yè)務(wù)當(dāng)前的步驟調(diào)用對(duì)應(yīng)的目標(biāo)面板組件生成該步驟的web界面包括:
根據(jù)所述視圖信息進(jìn)入所述業(yè)務(wù)當(dāng)前步驟;
從所述界面配置文件中獲取當(dāng)前步驟的web界面對(duì)應(yīng)的目標(biāo)面板組件以及各目標(biāo)面板組件之間的位置關(guān)系;
根據(jù)所述位置關(guān)系在所述web界面上相應(yīng)的位置解析所述各目標(biāo)面板組件生成當(dāng)前步驟的web界面;
或,
進(jìn)一步根據(jù)所述屬性設(shè)置信息設(shè)置所述各目標(biāo)面板組件的屬性。
在本發(fā)明的一種實(shí)施例中,所述web界面在內(nèi)存中生成。
在本發(fā)明的一種實(shí)施例中,生成業(yè)務(wù)的各web界面時(shí),采用相同的解析規(guī)則對(duì)各web界面對(duì)應(yīng)各目標(biāo)面板組件進(jìn)行解析。
在本發(fā)明的一種實(shí)施例中,檢測(cè)用戶使用完畢所述web界面完畢后,在內(nèi)存中釋放所述web界面的數(shù)據(jù)。
為了解決上述問題,本發(fā)明還提供了一種web界面生成控制裝置,包括:
面板組件生成模塊,用于生成總的面板組件;
配置文件生成模塊,用于從所述總的面板組件中確定出當(dāng)前業(yè)務(wù)各步驟的web界面所需的目標(biāo)面板組件,并根據(jù)所述目標(biāo)面板組件生成所述業(yè)務(wù)的界面配 置文件;
web界面生成模塊,用于根據(jù)所述界面配置文件在所述業(yè)務(wù)當(dāng)前的步驟調(diào)用相應(yīng)的目標(biāo)面板組件生成該步驟的web界面
在本發(fā)明的一種實(shí)施例中,所述界面配置文件包括:當(dāng)前業(yè)務(wù)各web界面對(duì)應(yīng)的目標(biāo)面板組件清單、各web界面的各目標(biāo)面板組件之間的位置關(guān)系,或進(jìn)一步包括各web界面的各目標(biāo)面板組件的屬性設(shè)置信息。
在本發(fā)明的一種實(shí)施例中,還包括視圖生成模塊,用于生成顯示各步驟入口的視圖信息。
在本發(fā)明的一種實(shí)施例中,所述web界面生成模塊包括:
操作子模塊,用于根據(jù)所述視圖信息進(jìn)入所述業(yè)務(wù)當(dāng)前步驟;
獲取子模塊,用于從所述界面配置文件中獲取當(dāng)前步驟的web界面對(duì)應(yīng)的目標(biāo)面板組件以及各目標(biāo)面板組件之間的位置關(guān)系;
Web界面顯示子模塊,用于根據(jù)所述位置關(guān)系在所述web界面上相應(yīng)的位置解析所述各目標(biāo)面板組件生成當(dāng)前步驟的web界面;
或,
進(jìn)一步包括屬性設(shè)置子模塊,用于根據(jù)所述屬性設(shè)置信息設(shè)置所述各目標(biāo)面板組件的屬性。
本發(fā)明的有益效果是:
本發(fā)明提供的web界面生成控制方法及裝置,先生成總的面板組件;然后在執(zhí)行某一業(yè)務(wù)時(shí),從該總的面板組件中挑選出當(dāng)前業(yè)務(wù)各步驟的web界面所需的目標(biāo)面板組件然后根據(jù)這些目標(biāo)面板組件生成該業(yè)務(wù)的界面配置文件;然后在業(yè)務(wù)執(zhí)行到某一步驟時(shí),根據(jù)該業(yè)務(wù)的界面配置文件在當(dāng)前步驟調(diào)用相應(yīng)的目標(biāo)面板組件生成該步驟的web界面即可;也即本發(fā)明可以先生成各種面板組件,然后根據(jù)業(yè)務(wù)當(dāng)前步驟的web界面的需求動(dòng)態(tài)調(diào)動(dòng)相關(guān)的目標(biāo)面板組件 動(dòng)態(tài)生成該顯示界面即可,開發(fā)者并不需要針對(duì)每個(gè)步驟都單獨(dú)編寫一個(gè)頁面,因此可以大大減少代碼的重復(fù)度,且只需要維護(hù)生成界面的這些目標(biāo)面板組件,因此可以降低維護(hù)難度,盡可能避免增加開發(fā)修改不完善導(dǎo)致的開發(fā)故障。
附圖說明
圖1為本發(fā)明實(shí)施例一提供的web界面生成控制方法流程示意圖;
圖2為本發(fā)明實(shí)施例一提供的生成總的面板組件的流程示意圖;
圖3為本發(fā)明實(shí)施例一提供的獲取目標(biāo)面板組件的流程示意圖;
圖4為本發(fā)明實(shí)施例一提供的生成web界面的流程示意圖;
圖5為本發(fā)明實(shí)施例二提供的web界面生成控制裝置結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例二提供的工作詳情面板組件示意圖;
圖7為本發(fā)明實(shí)施例二提供的資產(chǎn)信息面板組件示意圖;
圖8為本發(fā)明實(shí)施例二提供的受理人信息面板組件示意圖;
圖9為本發(fā)明實(shí)施例二生成的web界面示意圖。
具體實(shí)施方式
下面通過具體實(shí)施方式結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
實(shí)施例一:
請(qǐng)參見圖1所示,本實(shí)施例提供的web界面生成控制方法包括:
步驟101:生成總的面板組件;
在該步驟,需分析各種業(yè)務(wù)需求,將各業(yè)務(wù)分別涉及到具體有哪些面板組件拆分出來,同時(shí)將拆分出來的各個(gè)面板組件上具體有哪些字段、這些字段的標(biāo)題、每個(gè)字段的布局等等信息清理好,這樣后面定義面板組件時(shí)直接定義即可。在根據(jù)上述整理出來的面板組件定義時(shí),每個(gè)面板組件可繼承顯示框架的 基于smartclient的Javascript類(應(yīng)當(dāng)理解的是并不僅限于該類),并實(shí)現(xiàn)相關(guān)方法即可;該過程請(qǐng)參見圖2所示,具體包括:
步驟201:確定所有業(yè)務(wù)的各web界面涉及的面板組件,此處的一個(gè)面板組件為一個(gè)類型的信息在界面上的布局;比如流程信息中有資產(chǎn)信息,故障信息,客戶信息,影響信息,預(yù)分析信息,等等這些都可以實(shí)現(xiàn)定義成面板組件;
步驟202:對(duì)相同的面板組件進(jìn)行去重處理;不同業(yè)務(wù)可能會(huì)用到相同的面板組件,因此需進(jìn)行去重處理,以盡可能降低代碼重復(fù);
步驟203:定義生成去重處理后的所有面板組件得到總的面板組件。生成的所有面板組件可存儲(chǔ)在面板組件總庫中以供后續(xù)調(diào)用;
步驟102:根據(jù)當(dāng)前業(yè)務(wù)的需求,從總的面板組件中確定出當(dāng)前業(yè)務(wù)各步驟的web界面所需的目標(biāo)面板組件,并根據(jù)這些目標(biāo)面板組件生成該業(yè)務(wù)的界面配置文件;
其中,從總的面板組件中確定出當(dāng)前業(yè)務(wù)各web界面所需的目標(biāo)面板組件請(qǐng)參見圖3所示,包括:
步驟301:確定當(dāng)前業(yè)務(wù)各步驟對(duì)應(yīng)的web界面;
步驟302:分析各web界面所需的面板組件以及各面板組件之間的關(guān)系,例如位置關(guān)系,以及各面板組件的屬性設(shè)置信息等等,以便于后續(xù)生成配置文件時(shí)使用;
步驟303:從總的面板組件中選擇出對(duì)應(yīng)的面板組件作為各web界面的目標(biāo)面板組件。
根據(jù)確定出的目標(biāo)面板組件生成的該業(yè)務(wù)的界面配置文件包括:當(dāng)前業(yè)務(wù)各web界面對(duì)應(yīng)的目標(biāo)面板組件清單、各web界面的各目標(biāo)面板組件之間的位置關(guān)系,例如哪些目標(biāo)組件在最上面,哪些在中間或下面,哪些在左邊,哪些 在右邊等;或還可進(jìn)一步包括各web界面的各目標(biāo)面板組件的屬性設(shè)置信息,此處的屬性設(shè)置信息包括是否可編輯屬性、目標(biāo)面板組件的哪些字符需要隱藏或特別顯示、各目標(biāo)面板之間的從屬關(guān)系等等。在編寫配置文件是,將上述信息按照事先定義的XML文件中的DTD的相關(guān)規(guī)則配置各項(xiàng)界面信息即可。
在上述過程中,還可生成用于顯示各步驟入口的視圖信息,根據(jù)該視圖信息顯示出的視圖就是各個(gè)web界面的入口,最開始呈現(xiàn)在用戶面前的都是這個(gè)視圖,用戶可以根據(jù)視圖上顯示的功能點(diǎn)進(jìn)行操作進(jìn)入到對(duì)應(yīng)步驟的web界面。
步驟103:在當(dāng)前業(yè)務(wù)的當(dāng)前步驟,根據(jù)該業(yè)務(wù)的界面配置文件在業(yè)務(wù)當(dāng)前的步驟調(diào)用相應(yīng)的目標(biāo)面板組件動(dòng)態(tài)生成該步驟的web界面,該過程請(qǐng)參見圖4所示,包括:
步驟401:根據(jù)所述視圖信息進(jìn)入業(yè)務(wù)當(dāng)前步驟;
步驟402:從該業(yè)務(wù)的界面配置文件中獲取當(dāng)前步驟的web界面對(duì)應(yīng)的目標(biāo)面板組件以及各目標(biāo)面板組件之間的位置關(guān)系;
步驟403:根據(jù)得到的位置關(guān)系在web界面上相應(yīng)的位置解析各目標(biāo)面板組件生成當(dāng)前步驟的web界面;
步驟404:根據(jù)該業(yè)務(wù)的界面配置文件屬性設(shè)置信息設(shè)置各目標(biāo)面板組件的屬性,例如設(shè)置哪些可以編輯,哪些不能編輯,哪些目標(biāo)面板組件上的對(duì)應(yīng)字段需要做隱藏處理等等。
上述步驟403中動(dòng)態(tài)生成web界面時(shí)是在內(nèi)存中生成,當(dāng)檢測(cè)到用戶使用完畢該web界面完畢后,在內(nèi)存中釋放web界面的數(shù)據(jù),并可統(tǒng)一重置各種業(yè)務(wù)參數(shù),以備下一次再動(dòng)態(tài)生成web界面。
為了保證整個(gè)界面的風(fēng)格統(tǒng)一,在上述步驟403生成業(yè)務(wù)的各web界面時(shí),采用相同的解析規(guī)則對(duì)各web界面對(duì)應(yīng)各目標(biāo)面板組件進(jìn)行解析,這樣可統(tǒng)一 內(nèi)存的管理。
可見,由于所有的生成界面都是按照相同的解析規(guī)則來解析生成的。所以生成出來的界面在風(fēng)格樣式等各個(gè)方面都能保持一致性,同時(shí)在解析時(shí)也能確保顯示的正確性。并且生成的界面也是只存在內(nèi)存中。開發(fā)者是沒有具體開發(fā)該頁面的相關(guān)代碼,所以這部分代碼是不需要維護(hù)的。開發(fā)者只需要維護(hù)解析配置文件或生成界面這部分顯示框架的代碼即可。
實(shí)施例二:
本實(shí)施例提供了一種web界面生成控制裝置,請(qǐng)參見圖5所示,包括:
面板組件生成模塊1,用于生成總的面板組件;生成中的面板組件時(shí),需分析各種業(yè)務(wù)需求,將各業(yè)務(wù)分別涉及到具體有哪些面板組件拆分出來,同時(shí)將拆分出來的各個(gè)面板組件上具體有哪些字段、這些字段的標(biāo)題、每個(gè)字段的布局等等信息清理好,這樣后面定義面板組件時(shí)直接定義即可。
面板組件生成模塊1在根據(jù)上述整理出來的面板組件定義時(shí),每個(gè)面板組件可繼承顯示框架的基于smartclient的Javascript類(應(yīng)當(dāng)理解的是并不僅限于該類),并實(shí)現(xiàn)相關(guān)方法即可;
配置文件生成模塊2,用于從總的面板組件中確定出當(dāng)前業(yè)務(wù)各步驟的web界面所需的目標(biāo)面板組件,并根據(jù)這些目標(biāo)面板組件生成所述業(yè)務(wù)的界面配置文件;
其中,配置文件生成模塊2從總的面板組件中確定出當(dāng)前業(yè)務(wù)各web界面所需的目標(biāo)面板組件包括:
確定當(dāng)前業(yè)務(wù)各步驟對(duì)應(yīng)的web界面;
分析各web界面所需的面板組件以及各面板組件之間的關(guān)系,例如位置關(guān) 系,以及各面板組件的屬性設(shè)置信息等等,以便于后續(xù)生成配置文件時(shí)使用;
從總的面板組件中選擇出對(duì)應(yīng)的面板組件作為各web界面的目標(biāo)面板組件。
配置文件生成模塊2根據(jù)確定出的目標(biāo)面板組件生成的該業(yè)務(wù)的界面配置文件包括:當(dāng)前業(yè)務(wù)各web界面對(duì)應(yīng)的目標(biāo)面板組件清單、各web界面的各目標(biāo)面板組件之間的位置關(guān)系,例如哪些目標(biāo)組件在最上面,哪些在中間或下面,哪些在左邊,哪些在右邊等;或還可進(jìn)一步包括各web界面的各目標(biāo)面板組件的屬性設(shè)置信息,此處的屬性設(shè)置信息包括是否可編輯屬性、目標(biāo)面板組件的哪些字符需要隱藏或特別顯示、各目標(biāo)面板之間的從屬關(guān)系等等。在編寫配置文件是,將上述信息按照事先定義的XML文件中的DTD的相關(guān)規(guī)則配置各項(xiàng)界面信息即可。
視圖生成模塊3,用于生成顯示各步驟入口的視圖信息;根據(jù)該視圖信息顯示出的視圖就是各個(gè)web界面的入口,最開始呈現(xiàn)在用戶面前的都是這個(gè)視圖,用戶可以根據(jù)視圖上顯示的功能點(diǎn)進(jìn)行操作進(jìn)入到對(duì)應(yīng)步驟的web界面。
web界面生成模塊4,用于根據(jù)上述界面配置文件在業(yè)務(wù)當(dāng)前的步驟調(diào)用相應(yīng)的目標(biāo)面板組件生成該步驟的web界面。其中,web界面生成模塊4包括:
操作子模塊41,用于根據(jù)視圖信息進(jìn)入所述業(yè)務(wù)當(dāng)前步驟;
獲取子模塊42,用于從界面配置文件中獲取當(dāng)前步驟的web界面對(duì)應(yīng)的目標(biāo)面板組件以及各目標(biāo)面板組件之間的位置關(guān)系;
Web界面顯示子模塊43,用于根據(jù)位置關(guān)系在所述web界面上相應(yīng)的位置解析所述各目標(biāo)面板組件生成當(dāng)前步驟的web界面;
屬性設(shè)置子模塊44,用于根據(jù)所述屬性設(shè)置信息設(shè)置所述各目標(biāo)面板組件的屬性。例如設(shè)置哪些可以編輯,哪些不能編輯,哪些目標(biāo)面板組件上的對(duì)應(yīng)字段需要做隱藏處理等等。
上述Web界面顯示子模塊43動(dòng)態(tài)生成web界面時(shí)是在內(nèi)存中生成,當(dāng)檢測(cè)到用戶使用完畢該web界面完畢后,在內(nèi)存中釋放web界面的數(shù)據(jù),并可統(tǒng)一重置各種業(yè)務(wù)參數(shù),以備下一次再動(dòng)態(tài)生成web界面。
為了保證整個(gè)界面的風(fēng)格統(tǒng)一,在上述Web界面顯示子模塊43生成業(yè)務(wù)的各web界面時(shí),采用相同的解析規(guī)則對(duì)各web界面對(duì)應(yīng)各目標(biāo)面板組件進(jìn)行解析,這樣可統(tǒng)一內(nèi)存的管理。
為了更好的理解本發(fā)明,下面結(jié)合一個(gè)具體的示例對(duì)本發(fā)明做進(jìn)一步示例性說明。假設(shè)當(dāng)前總的面板組件已經(jīng)完全生成好,當(dāng)前業(yè)務(wù)的某一步驟對(duì)應(yīng)的web界面需要圖6所示的工作詳情目標(biāo)面板組件、圖7所示的資產(chǎn)信息面板組件以及圖8所示的受理人信息面板組件,且三者之間在web界面的位置關(guān)系是從上到下依次設(shè)置;當(dāng)執(zhí)行到該業(yè)務(wù)的該步驟后,則從配置文件中獲取到該步驟的web界面所需的圖6-8所示的三個(gè)目標(biāo)面板組件,并根據(jù)三者之間的位置關(guān)系進(jìn)行解析生成圖9所示的web界面;且用戶在該web界面操作完畢后即可在內(nèi)存中釋放該web界面。
通過本發(fā)明提供的上述方案,至少可以達(dá)到如下有益效果:
1、減少了開發(fā)者實(shí)際編寫的代碼量,減少了大量的重復(fù)代碼,減少了開發(fā)對(duì)代碼的維護(hù)難度。
2、統(tǒng)一了整個(gè)界面的風(fēng)格樣式,統(tǒng)一了內(nèi)存的管理。
3、且只需要維護(hù)生成界面的這些目標(biāo)面板組件,能降低維護(hù)難度,盡可能避免增加開發(fā)修改不完善導(dǎo)致的開發(fā)故障,減少了故障的發(fā)生率。
以上內(nèi)容是結(jié)合具體的實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù) 人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。