1、針對請求獲取url
判斷資料請求方式,如果為ajax請求則通過ajax返回json資料,否則顯示html頁面
2、根據url判斷模組、模型、控制器、方法以及關鍵key等
3、資料報data包括data_list/data_info/data_tree/data_custom、field_defined[field_defined=1]、page_info[page_info=1]、search_defined[search_defined=1]、sort_defined[sort_defined=1]
data資料報中定義如下:
(1) data中必包含data_list列表資料、data_info陣列資料、data_tree樹形資料、data_status狀態資料、data_custom自定義資料其中之一
(2) field_defined表示資料展示的表單定義,當請求引數中包括field_defined=1時返回;
(3) page_info表示資料展示的表單定義,當請求引數中包括page_info=1時返回;
(4) search_defined表示資料展示的表單定義,當請求引數中包括search_defined=1時返回;
(5) sort_defined表示資料展示的表單定義,當請求引數中包括sort_defined=1時返回;
(6) data中都預設包含返回狀態errcode=0,當errcode的值不為0時,額外增加errmsg內容。
4、公共方法
參考《常用公共方法定義》一文。
5、通用方法
在前置base控制器中編寫get_list、add、edit、delete四個方法的常規操作。所有訪問優先使用公共方法定義中的方法進行響應,特殊方法自行編寫**實現。
6、訪問流程
前置判斷url所屬功能id[功能驗證],查詢不到則返回異常[ajax通過json返回,非ajax通過頁面返回];查詢到以後設定全域性變數,根據功能id判斷許可權驗證要求,不需要的直接進行業務操作,需要的開始判斷使用者/管理員登入狀態[登入驗證],成功登入的進行角色判斷[角色驗證],根據所屬角色檢索是否擁有該功能的訪問許可權[許可權驗證],擁有則進入業務操作;
(1) 功能驗證
(2) 登入驗證
(3) 角色驗證
(4) 許可權驗證
以下為業務操作
1)全域性資訊定義
accessinfo[必須]、logininfo[登入完成]、accessparamlist[當方法名為get_list、add、edit]
2)除錯操作
(1)檔案智慧型生成,根據請求模型判斷模型是否存在,不存在時自動建立到common模組(若功能資訊中不包含model_id或者model_name則不需要建立模型)
(2)功能引數自動生成,當訪問的功能含有資料模型,但是沒有引數定義[access_param]則自動跳轉到自動生成功能介面,該介面包含自動生成和返回按鈕,自動生成完成以後同樣返回至原訪問路徑。
業務操作方法先判斷是否為空操作
(1) 為空操作,判斷是否為ajax,如果不是直接返回頁面[預設或指定模組庫/default/方法名],如果是則根據方法名獲取資料,根據可選定義[field_defined、page_info、search_defined、sort_defined]獲取資料,完成後打包至公共方法[srt/ert]返回json。
(2) 非空操作,判斷是否為ajax,如果不是直接返回頁面[預設或指定模組庫/控制器名/方法名],如果是則根據方法名獲取資料,根據可選定義[field_defined、page_info、search_defined、sort_defined]獲取資料,完成後打包至公共方法[srt/ert]返回json。
備註:1、新增data_model表、定義model_id,access表中新增model_id欄位,access_param表中新增access_id、model_id欄位
架構設計思路
我們一般在做架構設計的時候,會經歷過三個階段 需求分析 概要設計和詳細設計。需求分析階段 主要梳理所有用例 use case 和場景,並抽象出面向系統的使用者與角色,梳理出需求提供哪些功能與非功能的需求給這些使用者。概要設計階段 根據需求分析的產物 核心需求,對整個系統進行模組劃分,並定義好模組之間...
架構設計思路
1 首先最外層有一層閘道器層 mz gatway 在閘道器層 使用霸下等,將異常流量剝離出來 異常流量 1 爬蟲,根據ip,如果是 的話,根據協議頭 request header 也可以判斷出來 2 使用者應用層,承接入口流量 包含了登入層設計 使用使用者名稱和密碼 登入然後服務端返回session...
salesforce 架構設計 從架構設計到架構師
因為碎片化的時間多了,所以開始刷起某乎了,關注了架構相關的板塊,也順手回答了一些問題。發現有很多同道中人正在經歷著我前兩年經歷的階段,對於做架構沒有相對具象的一些理解,更沒有系統化的認識。所以把最近回答的一些內容整理一下,權當記錄,留給3年後的自己 按慣例,容許我裝x開頭 一 架構的定義 在軟體開發...