檔案結構
一個常規入口網站的檔案結構大概如下(實際內容不多,一切簡單為主)
-- 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 搜尋結果列表
複製程式碼
各頁面關係
首頁進入其他頁面方式及必要引數
二級頁進入其他頁面方式及必要引數
詳情頁進入其他頁面方式及必要引數
搜尋頁進入其他頁面及必要引數
注意點
- 每個頁面都用到的公共資源統一配置管理,頂部公共nav資料可靈活配置
- 欄目資料可以複用,無需每個頁面開啟都獲取一次,只需獲取一次,通過sessionStorage儲存欄目資料,其他頁面直接呼叫即可,時效為回話週期
- 資料和UI分離,考慮到不同專案的樣式有所差異,整合的重點放在格式相同的資料層面,實現一套方法處理所有V7標準格式的資料
- 根據不同的需求擴充完善資料處理方法,利用有限的資料儘可能多的實現各種需求
- 配置層、工具層、業務層分離
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方法即可,另外兩個階段處理方法針對一些個性化欄目的特殊需求 任何你需要額外傳入的引數都可以放進去,最終他們都會作為預設引數傳遞進你的渲染方法中