[發(fā)明專利]表單渲染方法及表單渲染系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 202110792024.5 | 申請(qǐng)日: | 2021-07-13 |
| 公開(kāi)(公告)號(hào): | CN113568693A | 公開(kāi)(公告)日: | 2021-10-29 |
| 發(fā)明(設(shè)計(jì))人: | 王連杰;衛(wèi)蓉 | 申請(qǐng)(專利權(quán))人: | 杭州每刻科技有限公司 |
| 主分類號(hào): | G06F9/451 | 分類號(hào): | G06F9/451;G06F9/445 |
| 代理公司: | 杭州裕陽(yáng)聯(lián)合專利代理有限公司 33289 | 代理人: | 顧晨 |
| 地址: | 310000 浙江省杭州*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 表單 渲染 方法 系統(tǒng) | ||
1.一種表單渲染方法,其特征在于,所述方法包括:
從服務(wù)器獲取待渲染表單的表單定義;所述表單定義包括所述待渲染表單所需展示的每一個(gè)組件的組件信息、不同組件之間的聯(lián)動(dòng)關(guān)系、以及組件配置規(guī)則;
從所述服務(wù)器獲取所述待渲染表單的表單數(shù)據(jù),所述表單數(shù)據(jù)包括每一個(gè)組件所需賦予的值;
創(chuàng)建數(shù)據(jù)關(guān)系模塊,依據(jù)所述表單定義和所述表單數(shù)據(jù),創(chuàng)建組件行為并存儲(chǔ)于數(shù)據(jù)關(guān)系模塊中;
采用基于有向無(wú)環(huán)圖的拓?fù)渌惴ㄉ山M件聯(lián)動(dòng)數(shù)組并存儲(chǔ)于數(shù)據(jù)關(guān)系模塊中;
依據(jù)標(biāo)識(shí)、組件和值三者的對(duì)應(yīng)關(guān)系,將每一個(gè)標(biāo)識(shí)對(duì)應(yīng)的組件的值賦予給組件,直至完成所有組件的值的賦予;
渲染所述待渲染表單;
實(shí)時(shí)監(jiān)聽(tīng)所述待渲染表單中每一個(gè)組件的值的變化情況,并依據(jù)組件聯(lián)動(dòng)數(shù)組實(shí)時(shí)對(duì)與產(chǎn)生值變化的組件存在聯(lián)動(dòng)關(guān)系的其他組件的值進(jìn)行調(diào)整。
2.根據(jù)權(quán)利要求1所述的表單渲染方法,其特征在于,在從所述服務(wù)器獲取所述待渲染表單的表單數(shù)據(jù)之前,所述方法還包括:
配置一個(gè)新表單并發(fā)送至服務(wù)器存儲(chǔ);所述配置一個(gè)新表單包括:自動(dòng)生成新表單中每一個(gè)組件對(duì)應(yīng)的標(biāo)識(shí),依據(jù)所有標(biāo)識(shí)組成新表單。
3.根據(jù)權(quán)利要求2所述的表單渲染方法,其特征在于,所述組件信息包括組件類型、組件標(biāo)識(shí)和組件占位符中的一種或多種;所述組件配置規(guī)則包括組件只讀配置信息、組件顯示配置信息和組件賦值配置信息中的一種或多種。
4.根據(jù)權(quán)利要求3所述的表單渲染方法,其特征在于,在采用基于有向無(wú)環(huán)圖的拓?fù)渌惴ㄉ山M件聯(lián)動(dòng)數(shù)組并存儲(chǔ)于數(shù)據(jù)關(guān)系模塊中之前,所述方法還包括:
運(yùn)行數(shù)據(jù)關(guān)系模塊,判斷組件行為是否存在循環(huán)依賴;
若組件行為不存在循環(huán)依賴,則執(zhí)行后續(xù)采用基于有向無(wú)環(huán)圖的拓?fù)渌惴ㄉ山M件聯(lián)動(dòng)數(shù)組并存儲(chǔ)于數(shù)據(jù)關(guān)系模塊中的步驟。
5.根據(jù)權(quán)利要求4所述的表單渲染方法,其特征在于,在運(yùn)行數(shù)據(jù)關(guān)系模塊,判斷組件行為是否存在循環(huán)依賴之后,所述方法還包括:
若組件行為存在循環(huán)依賴,則輸出報(bào)錯(cuò)信息,終止后續(xù)步驟。
6.根據(jù)權(quán)利要求5所述的表單渲染方法,其特征在于,所述采用基于有向無(wú)環(huán)圖的拓?fù)渌惴ㄉ山M件聯(lián)動(dòng)數(shù)組并存儲(chǔ)于數(shù)據(jù)關(guān)系模塊中,包括:
依據(jù)所述表單定義中不同組件之間的聯(lián)動(dòng)關(guān)系,生成一張有向無(wú)環(huán)圖;
在所述有向無(wú)環(huán)圖中,獲取入度為0的組件,將入度為0的組件的序號(hào)統(tǒng)一置入一個(gè)等級(jí)為1的數(shù)組中,將入度為0的所有組件以及入度為0的組件指向其他組件的關(guān)系線在有向無(wú)環(huán)圖中刪除;在所述有向無(wú)環(huán)圖中,一個(gè)組件的入度為指向該組件的關(guān)系線的數(shù)量;
基于上一步驟處理后的有向無(wú)環(huán)圖,獲取入度為0的組件,將入度為0的組件的序號(hào)統(tǒng)一置入一個(gè)等級(jí)為2的數(shù)組中,將入度為0的所有組件以及入度為0的組件指向其他組件的關(guān)系線在有向無(wú)環(huán)圖中刪除;
反復(fù)執(zhí)行前述步驟,直至所述有向無(wú)環(huán)圖中無(wú)任何組件存在,得到多個(gè)數(shù)組;每次將入度為0的組件的序號(hào)統(tǒng)一置入一個(gè)數(shù)組時(shí),數(shù)組的等級(jí)加1;
將多個(gè)數(shù)組合并為組件聯(lián)動(dòng)數(shù)組;
將所述組件聯(lián)動(dòng)數(shù)組存儲(chǔ)于數(shù)據(jù)關(guān)系模塊中。
7.根據(jù)權(quán)利要求6所述的表單渲染方法,其特征在于,實(shí)時(shí)監(jiān)聽(tīng)所述待渲染表單中每一個(gè)組件的值的變化情況,并依據(jù)組件聯(lián)動(dòng)數(shù)組實(shí)時(shí)對(duì)與產(chǎn)生值變化的組件存在聯(lián)動(dòng)關(guān)系的其他組件的值進(jìn)行調(diào)整包括:
監(jiān)聽(tīng)所述待渲染表單中每一個(gè)組件的值的變化,當(dāng)監(jiān)聽(tīng)到一個(gè)組件的值發(fā)生變化時(shí),向服務(wù)器調(diào)取所述組件聯(lián)動(dòng)數(shù)組;
在所述組件聯(lián)動(dòng)數(shù)組中過(guò)濾出與產(chǎn)生值變化的組件聯(lián)動(dòng)的組件;
對(duì)與產(chǎn)生值變化的組件聯(lián)動(dòng)的組件的值進(jìn)行調(diào)整。
8.根據(jù)權(quán)利要求7所述的表單渲染方法,其特征在于,在所述組件聯(lián)動(dòng)數(shù)組中過(guò)濾出與產(chǎn)生值變化的組件聯(lián)動(dòng)的組件,包括:
在所述組件聯(lián)動(dòng)數(shù)組中,搜尋與產(chǎn)生值變化的組件聯(lián)動(dòng)的組件,且與產(chǎn)生值變化的組件聯(lián)動(dòng)的組件所處數(shù)組的等級(jí)大于產(chǎn)生值變化的組件所處數(shù)組的等級(jí)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州每刻科技有限公司,未經(jīng)杭州每刻科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110792024.5/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





