快速處理V7標準介面資料

豆豆大魔王發表於2017-12-15

檔案結構

一個常規入口網站的檔案結構大概如下(實際內容不多,一切簡單為主)

-- webapp
  -- css              css資源
  -- images           圖片資源
  -- js               js指令碼
    -- lib            常用庫、外掛
    -- v7             v7介面相關指令碼
    _config.js        全域性配置,包括網站的介面地址,nav標籤,測試系統切換等
    common.js         公共js,用來執行公共方法
    cssboot.js        css資源統一輸出
  -- include          公共html內容
  index.html          首頁
  subpage.html        二級頁
  detail.html         詳情頁
  search-result.html  搜尋結果列表
複製程式碼

各頁面關係

首頁進入其他頁面方式及必要引數

image.png

二級頁進入其他頁面方式及必要引數

image.png

詳情頁進入其他頁面方式及必要引數

image.png

搜尋頁進入其他頁面及必要引數

image.png

注意點

  1. 每個頁面都用到的公共資源統一配置管理,頂部公共nav資料可靈活配置
  2. 欄目資料可以複用,無需每個頁面開啟都獲取一次,只需獲取一次,通過sessionStorage儲存欄目資料,其他頁面直接呼叫即可,時效為回話週期
  3. 資料和UI分離,考慮到不同專案的樣式有所差異,整合的重點放在格式相同的資料層面,實現一套方法處理所有V7標準格式的資料
  4. 根據不同的需求擴充完善資料處理方法,利用有限的資料儘可能多的實現各種需求
  5. 配置層、工具層、業務層分離

v7欄目處理工具對外暴露的物件方法

getCategoryInfoFrmoGuid(guid[, type])  // 通過欄目guid獲取該欄目對應的資訊

    guid: 欄目guid(string)
    type: 欄目對應欄位的資訊,不傳則返回該欄目所有資訊(string)


getGuidFromName(name) //通過欄目中文名獲取欄目guid

    name: 欄目名(string)


getGeneraltionsFromGuid(guid) //根據欄目guid獲取其父欄目以上的資料

    guid: 欄目guid(string)
    

getRenderData(nameArr)  //根據配置的欄目陣列生成對應的渲染資料,配合mustache使用

    nameArr: 配置欄目陣列(Array)

複製程式碼

資料獲取通用工具方法WebUtil

getData(options)  //獲取資料通用方法,實際上就是骨架ajax的二次封裝

    options: 獲取資料的配置項,包括以下欄位
       urlType: 請求求解型別
       介面請求引數的所有欄位
       任何你需要用到的引數
       beforeRender: function(data,options){//do something} //渲染資料前處理函式
       render: function(data,options){//do something}  //渲染資料函式
       afterRender: function(data,options){//do something}  //渲染資料完成後處理函式
複製程式碼

獲取資料配置項引數中的,需要傳入介面型別urlType,通過該欄位確認請求介面連結。 另外也需要傳入對應介面的必要引數 三個渲染函式一般情況下只需要傳一個render方法即可,另外兩個階段處理方法針對一些個性化欄目的特殊需求 任何你需要額外傳入的引數都可以放進去,最終他們都會作為預設引數傳遞進你的渲染方法中

相關文章