經常使用的方法封裝
$('document').ready(function () {
$.extend({
/*Function sendAjax
* @param: obj Object
* obj.url 地址必填
* obj.modelData 數據選填
*/
sendAjax: function (obj) {
// 檢測用戶是否輸入
if(!obj.url){
console.error('請填寫url地址');
return false;
}
// 請求參數格式化,均以json格式進行傳參
var data = JSON.stringify(obj.modelData) || {};
$.ajax({
url:obj.url,
data:data,
contentType:'application/json',
dataType:'json',
async:ture,
}).done(function(res){
switch(res.code){
// 請求成功
case 1:
obj.success && obj.success(res);
break;
case 911:{
// 無權限
var redirectUrl = window.location.href;
window.location.href = res.url+'?redirect'+encodeURIComponent(redirectUrl);
break;
}
default:
if(obj.fail()){
obj.fail(res);
}else
alert('接口錯誤');
}
})
},
/*
* @Function timeChange
* @param:
* source: String 須要轉換的時間
* inFormat: String 傳入的時間格式
* outFormat: Strign 輸出的時間格式
*/
timeChange:function(source,inFormat,outFormat){
//個位補零
var checkTime = function(){
if(time <10){
return "0"+time;
}
};
// 根據輸入的時間格式來進行轉換,\2指的是第二個捕獲組
switch (inFormat){
case 'Y-m-d H:i:s':
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
source = source.match(reg);
source = new Date(source[1],source[3]-1,source[4],source[5],source[6],source[7]);
break;
case 'Y-m-d' :
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
source = source.match(reg);
source = new Date(source[1],source[3]-1,source[4])
break;
case 'timestamp':
// 一般時間戳按秒記錄,JavaScript是按毫秒計算
source = new Date(parseInt(source)*1000);
break;
// 毫秒的時間戳
case 'millisecond':
source = new Date(parseInt(source));
break;
}
// 輸出時間
switch(outFormat){
case 'Y-m-d H:i:s':
return source.getFullYear()
+'-'
+checkTime(source.getMonth()+1)
+'-'
+checkTime(source.getDate())
+' '
+checkTime(source.getHours())
+':'
+checkTime(source.getMinutes())
+':'
+checkTime(source.getSecond());
break;
case 'Y-m-d':
return source.getFullYear()
+'-'
+checkTime(source.getMonth()+1)
+'-'
+checkTime(source.getDate());
break;
case 'Y-m-d H:i':
return source.getFullYear()
+'-'
+checkTime(source.getMonth()+1)
+'-'
+checkTime(source.getDate())
+' '
+checkTime(source.getHours())
+':'
+checkTime(source.getMinutes());
break;
case 'Y.m.d':
return source.getFullYear()
+'.'
+checkTime(source.getMonth()+1)
+'.'
+checkTime(source.getDate());
break;
}
},
// 比較數組全等
/*Function compareJson
* @param:
* json1 Object 傳入的對象
* json2 Object
*/
compareJson:function(json1,json2){
for(let atr in json1){
// 檢測鍵是否一致
if(json2[atr] === undefined)
return false;
// 檢測值是否一致
if(json1[atr] !== json2[atr])
return false;
}
},
// 數字轉換
/*Function numFormat
* @param:
* number Number 傳入的數字
* fixedNum Number 保留的小數點位數
*/
numFormate:function(number,fixedNum){
// 判斷是否爲數字
if(typeof number !== Number){
console.log('請檢查輸入的是否爲數字');
return false;
}
if(number<10000)
return number;
var level = null;
if(number/10000 >1 )
level = '萬';
if(number/10000000 > 1)
level = '億';
// 默認保留兩位
if(!fixedNum)
fixedNum = 2;
switch(level){
case '萬':
return (number/10000).toFixed(fixedNum)+'萬';
break;
case '億':
return (num/100000000).toFixed(fixedNum)+'億';
}
},
})
})