所謂的服務層就是對http請求的封裝,最好不要直接在業務邏輯的**裡摻雜像下面類似的直接ajax呼叫:
$.ajax(
})
上面的**片段很難維護,會產生大量的重複**。最好的辦法是對幾個http方法先進行一次封裝,我們會封裝成乙個http.utils.js,放到library中去:
import vue from 'vue';
import $ from 'jquery';
/** * 封裝http請求相關工具函式.
* @param options 參考vue-resource
*/ 'get' (url, options) ,
/*** jsonp請求
* @param options 參考vue-resource
*/ 'jsonp' (url, options) ,
/*** post請求
* @param body
* @param options 參考vue-resource
*/ 'post' (url, body, options) ,
/*** delete請求
* @param options 參考vue-resource
*/ 'del' (url, options) ,
/*** put請求
* @param body
* @param options 參考vue-resource
*/ 'put' (url, body, options) ,
/*** patch請求
* @param body
* @param options 參考vue-resource
*/ 'patch' (url, body, options) ,
/*** script請求,呼叫jquery中的請求script方法,缺省會快取
*/ 'script' (url) ).done(function (script, textstatus) ).fail(function (jqxhr, settings, exception) );
});}};
然後再次封裝對後端請求的呼叫,針對不同的resource,封裝成不同的service,對應的service**和業務**放到一起。下面拿審計服務來講:
所有服務層**以.service字尾結尾,和相關的業務邏輯**放在一起,比較好維護。而且當其它地方也需要這個服務的時候,可以直接import,利於重複使用。
下面看一下裡面的具體**示例:
import from 'utils';
let auditsrv = ,
list (params = '')
};export ;
在**中使用:
TS在vue2專案中的寫法
作為對照,先回憶一下js在vue2專案中的寫法 本來vue2是不支援ts的,如果要在專案中使用ts,就需要相應的外掛程式和配置,雖然用起來有點尷尬,但終究也是能用了。ts在vue2專案中,需要使用大量的修飾器,對我這樣的 懶人來說,一堆堆的修飾器,的確有點 要不是組織要求,我是絕對不會去寫這樣的 的...
多執行緒在實際專案中的簡單應用
專案中如何使用多執行緒專案業務場景 批量頁面靜態化 在系統中,商品詳情頁我們使用freemarker來進行頁面靜態化,每天夜裡12點開始要對所有商品頁面進行一遍靜態化,由於商品數量比較多 如果使用單執行緒將耗時過長,我們使用乙個定長線程池進行批量執行,將任務放在佇列中,多個執行緒同時領取並執行。訂單...
Redis在Php專案中的實際應用場景
採用redis 的型別 hash.如果你對redis資料型別不太熟悉,可以參考 為product定義個key product 為每種數值定義hashkey,譬如喜歡數like num redis hset product 123 like num 5 新增 id為123的商品 like num 為5...