国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      頁面生成方法、裝置、電子設(shè)備、存儲介質(zhì)及計算機程序產(chǎn)品與流程

      文檔序號:40381878發(fā)布日期:2024-12-20 12:04閱讀:10來源:國知局
      頁面生成方法、裝置、電子設(shè)備、存儲介質(zhì)及計算機程序產(chǎn)品與流程

      本技術(shù)涉及前端,尤其涉及一種頁面生成方法、裝置、電子設(shè)備、存儲介質(zhì)及計算機程序產(chǎn)品。


      背景技術(shù):

      1、動態(tài)化技術(shù)是當(dāng)前移動端開發(fā)比較常用的技術(shù)手段,它支持服務(wù)端將視圖樹和填充數(shù)據(jù)通過對象簡譜(javascript?object?notation,json)格式的數(shù)據(jù)下發(fā)到客戶端進行渲染和數(shù)據(jù)填充形成新的頁面。當(dāng)頁面內(nèi)容發(fā)生變動時,只需要修改服務(wù)端下發(fā)的json格式的數(shù)據(jù)就可以實現(xiàn)頁面的動態(tài)更新,這樣做提升了頁面的更新速率。其中,鴻蒙系統(tǒng)終端是以arkts語作為開發(fā)語言的,arkts語言中刪減了可以對json格式數(shù)據(jù)解析的eval()函數(shù)。導(dǎo)致在鴻蒙系統(tǒng)終端上進行應(yīng)用頁面渲染改動時,無法對json格式的數(shù)據(jù)進行解析,導(dǎo)致動態(tài)化的渲染技術(shù)無法應(yīng)用在鴻蒙系統(tǒng)終端上,使得無法快速的對鴻蒙系統(tǒng)終端上的頁面進快速高效的頁面渲染改動。


      技術(shù)實現(xiàn)思路

      1、本技術(shù)實施例提供的一種頁面生成方法、裝置、電子設(shè)備、存儲介質(zhì)及計算機程序產(chǎn)品,可以快速的對鴻蒙系統(tǒng)終端上的頁面進行快速高效的頁面渲染改動。

      2、本技術(shù)的技術(shù)方案是這樣實現(xiàn)的:

      3、本技術(shù)實施例提供了一種頁面生成方法,包括:

      4、將第一語言類型的表達式數(shù)據(jù)處理為第二語言類型的中間表達式數(shù)據(jù);其中,所述第二語言類型是支持進行所述第一語言類型的數(shù)據(jù)與第三語言類型的數(shù)據(jù)間交互的語言類型;所述第一語言類型是本地系統(tǒng)語言類型;所述第三語言類型是服務(wù)器發(fā)送的頁面渲染數(shù)據(jù)的語言類型;

      5、基于預(yù)設(shè)數(shù)據(jù)引擎對所述中間表達式數(shù)據(jù)進行提取解析,得到目標表達式數(shù)據(jù);其中,所述預(yù)設(shè)數(shù)據(jù)引擎用于處理針對第三語言類型數(shù)據(jù)的表達式內(nèi)容;

      6、基于所述目標表達式數(shù)據(jù)對所述頁面渲染數(shù)據(jù)的解析,渲染出目標頁面。

      7、上述方案中,所述中間表達式數(shù)據(jù)包括:待解析元素容器;所述將第一語言類型的表達式數(shù)據(jù)處理為第二語言類型的中間表達式數(shù)據(jù),包括:

      8、將所述表達式數(shù)據(jù)處理為對應(yīng)所述第二語言類型的第一可識別數(shù)據(jù);

      9、將所述第一可識別數(shù)據(jù)封裝為所述待解析元素容器。

      10、上述方案中,所述基于預(yù)設(shè)數(shù)據(jù)引擎對所述中間表達式數(shù)據(jù)進行提取解析,得到目標表達式數(shù)據(jù),包括:

      11、從所述中間表達式數(shù)據(jù)中提取對應(yīng)所述第三語言類型的所述表達式內(nèi)容;

      12、基于所述預(yù)設(shè)數(shù)據(jù)引擎處理所述表達式內(nèi)容,得到所述目標表達式數(shù)據(jù)。

      13、上述方案中,所述將第一語言類型的表達式數(shù)據(jù)處理為第二語言類型的中間表達式數(shù)據(jù)之前,所述方法還包括:

      14、將所述第一語言類型的環(huán)境數(shù)據(jù)處理為對應(yīng)所述第二語言類型的第二可識別數(shù)據(jù);其中,所述環(huán)境數(shù)據(jù)用于針對所述預(yù)設(shè)數(shù)據(jù)引擎構(gòu)建所述表達式數(shù)據(jù)對應(yīng)的處理環(huán)境;

      15、將所述第二可識別數(shù)據(jù)封裝為對象容器;

      16、基于所述對象容器,針對所述預(yù)設(shè)數(shù)據(jù)引擎構(gòu)建所述處理環(huán)境。

      17、上述方案中,所述環(huán)境數(shù)據(jù)包括:初始化參數(shù);所述初始化參數(shù)對應(yīng)封裝為第一對象容器;其中,所述第一對象容器持有用于初始化所述預(yù)設(shè)數(shù)據(jù)引擎的所需信息。

      18、上述方案中,所述環(huán)境數(shù)據(jù)包括:環(huán)境元素參數(shù);所述環(huán)境元素參數(shù)對應(yīng)封裝為第二對象容器;其中,所述第二對象容器持有所述表達式數(shù)據(jù)中的以下所述環(huán)境元素參數(shù)中的至少一個:變量、對象和函數(shù)。

      19、上述方案中,所述基于所述對象容器,針對所述預(yù)設(shè)數(shù)據(jù)引擎構(gòu)建所述處理環(huán)境,包括:

      20、在預(yù)設(shè)回調(diào)函數(shù)集中確定所述第一對象容器對應(yīng)的第一回調(diào)函數(shù);其中,所述預(yù)設(shè)回調(diào)函數(shù)集中存儲多個對象容器,以及每個所述對象容器對應(yīng)的回調(diào)函數(shù)子集;所述回調(diào)函數(shù)子集中包括用于將所述對象容器處理為所述預(yù)設(shè)數(shù)據(jù)庫可處理類型數(shù)據(jù)的回調(diào)函數(shù);

      21、基于所述第一回調(diào)函數(shù)處理所述第一對象容器,確定第一參數(shù)對象;其中,所述第一參數(shù)對象屬于所述第三語言類型;

      22、基于所述第一參數(shù)對象,針對所述預(yù)設(shè)數(shù)據(jù)引擎初始化所述表達式數(shù)據(jù)對應(yīng)的上下文,構(gòu)建所述處理環(huán)境。

      23、上述方案中,所述基于所述對象容器,針對所述預(yù)設(shè)數(shù)據(jù)引擎構(gòu)建所述處理環(huán)境,包括:

      24、針對所述第二對象容器中的各個數(shù)據(jù)層,逐層遍歷提取出所述環(huán)境元素參數(shù);

      25、基于所述環(huán)境元素參數(shù)的參數(shù)類型,針對所述預(yù)設(shè)數(shù)據(jù)引擎構(gòu)建所述處理環(huán)境。

      26、上述方案中,所述基于所述環(huán)境元素參數(shù)的參數(shù)類型,針對所述預(yù)設(shè)數(shù)據(jù)引擎構(gòu)建所述處理環(huán)境,包括:

      27、若所述環(huán)境元素參數(shù)為所述變量或所述對象,則基于所述環(huán)境元素參數(shù)轉(zhuǎn)化的第二參數(shù)對象針對所述預(yù)設(shè)數(shù)據(jù)引擎進行注冊,構(gòu)建所述處理環(huán)境;其中,所述第二參數(shù)對象屬于所述第三語言類型。

      28、上述方案中,所述基于所述環(huán)境元素參數(shù)的參數(shù)類型,針對所述預(yù)設(shè)數(shù)據(jù)引擎構(gòu)建所述處理環(huán)境,包括:

      29、若所述環(huán)境元素參數(shù)為所述函數(shù),則將所述函數(shù)添加進預(yù)設(shè)回調(diào)函數(shù)集中對應(yīng)的第二回調(diào)函數(shù)中,并通過所述第二回調(diào)函數(shù)處理得到對應(yīng)的第三參數(shù)對象;其中,所述第三參數(shù)對象屬于所述第三語言類型;

      30、基于所述第三參數(shù)對象針對所述預(yù)設(shè)數(shù)據(jù)引擎進行注冊,構(gòu)建所述處理環(huán)境。

      31、上述方案中,所述基于所述對象容器,針對所述預(yù)設(shè)數(shù)據(jù)引擎構(gòu)建所述處理環(huán)境之后,所述方法還包括:

      32、基于引用對象集中的各個參數(shù)對象之間的引用關(guān)系,更新所述引用對象集中所述參數(shù)對象的引用標識;其中,所述引用對象集包括:所述表達式數(shù)據(jù)對應(yīng)的第一參數(shù)對象、所述第二參數(shù)對象和第三參數(shù)對象中的至少一個;所述引用標識表征數(shù)值大小隨著對應(yīng)的所述參數(shù)對象的被引用次數(shù)正比例動態(tài)變化。

      33、上述方案中,所述方法還包括:在所述引用對象集中的第n參數(shù)對象的所述引用標識降低至預(yù)設(shè)閾值時,在所述引用對象集中刪除所述第n參數(shù)對象;n為大于0的整數(shù)。

      34、上述方案中,所述基于所述目標表達式數(shù)據(jù)對所述頁面渲染數(shù)據(jù)的解析,渲染出目標頁面之后,所述方法還包括:

      35、在所述表達式數(shù)據(jù)對應(yīng)的參數(shù)對象滿足釋放的條件下,基于上下文對象標識在所述預(yù)設(shè)回調(diào)函數(shù)集中確定對應(yīng)的目標回調(diào)函數(shù)子集;所述上下文對象標識屬于所述初始化參數(shù);

      36、遍歷調(diào)用所述目標回調(diào)函數(shù)子集中包括的回調(diào)函數(shù)釋放方法,釋放所述第一對象容器以及針對所述預(yù)設(shè)數(shù)據(jù)引擎初始化的所述第一參數(shù)對象。

      37、本技術(shù)實施例還提供了一種頁面生成裝置,包括:

      38、數(shù)據(jù)處理單元,用于將第一語言類型的表達式數(shù)據(jù)處理為第二語言類型的中間表達式數(shù)據(jù);其中,所述第二語言類型是支持進行所述第一語言類型的數(shù)據(jù)與第三語言類型的數(shù)據(jù)間交互的語言類型;所述第一語言類型是本地系統(tǒng)語言類型;所述第三語言類型是服務(wù)器發(fā)送的頁面渲染數(shù)據(jù)的語言類型;

      39、第一解析單元,用于基于預(yù)設(shè)數(shù)據(jù)引擎對所述中間表達式數(shù)據(jù)進行提取解析,得到目標表達式數(shù)據(jù);其中,所述預(yù)設(shè)數(shù)據(jù)引擎用于處理針對第三語言類型數(shù)據(jù)的表達式內(nèi)容;

      40、第二解析單元,用于基于所述目標表達式數(shù)據(jù)對所述頁面渲染數(shù)據(jù)的解析,渲染出目標頁面。

      41、本技術(shù)實施例還提供了一種電子設(shè)備,包括存儲器和處理器,所述存儲器存儲有可在處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述方法中的步驟。

      42、本技術(shù)實施例還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述方法中的步驟。

      43、本技術(shù)實施例還提供了一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序在被處理器執(zhí)行時實現(xiàn)上述方法中的步驟。

      44、本技術(shù)實施例中,將第一語言類型的表達式數(shù)據(jù)處理為第二語言類型的中間表達式數(shù)據(jù);其中,第二語言類型是支持進行第一語言類型的數(shù)據(jù)與第三語言類型的數(shù)據(jù)間交互的語言類型;第一語言類型是本地系統(tǒng)語言類型;第三語言類型是服務(wù)器發(fā)送的頁面渲染數(shù)據(jù)的語言類型;基于預(yù)設(shè)數(shù)據(jù)引擎對中間表達式數(shù)據(jù)進行提取解析,得到目標表達式數(shù)據(jù);其中,所述預(yù)設(shè)數(shù)據(jù)引擎用于處理針對第三語言類型數(shù)據(jù)的表達式內(nèi)容;基于目標表達式數(shù)據(jù)對頁面渲染數(shù)據(jù)的解析,渲染出目標頁面。這樣,通過將表達式數(shù)據(jù)處理為可以建立第一語言類型的數(shù)據(jù)與第三語言類型的數(shù)據(jù)間交互的中間表達式數(shù)據(jù),打破了第一語言類型的數(shù)據(jù)與第三語言類型的數(shù)據(jù)之間交互壁壘,再通過預(yù)設(shè)數(shù)據(jù)引擎處理得到可以解析第三語言類型頁面渲染數(shù)據(jù)的目標表達式數(shù)據(jù),進而實現(xiàn)了對第三語言類型的數(shù)據(jù)(json格式數(shù)據(jù))的解析,也就是實現(xiàn)了對服務(wù)端下發(fā)的動態(tài)化的json格式數(shù)據(jù)的解析,進而實現(xiàn)對鴻蒙系統(tǒng)終端上的頁面進行快速高效的頁面渲染改動。

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