util.js v1.0

/**
 * Author paulus-xu
 * Date: 2017-5-17
 */
var com = com || {};
com.jiaxin = com.jiaxin || {};
com.jiaxin.mbp = com.jiaxin.mbp || {
CONST_TOAST_DURATION : 3000, //toast显示的时间
_progressCount : 0,
showProgress : function() {
if (this._progressCount == 0)
api.showProgress({
title : (api.systemType == 'ios') ? '' : '加载中...',
text : '',
modal : true
});
this._progressCount++;
},


hideProgress : function(force) {
if (force) {
this._progressCount = 0;
api.hideProgress();
return true;
} else {
this._progressCount--;
if (this._progressCount <= 0) {
api.hideProgress();
return true;
} else
return false;
}
},


ajaxPostReq : function(url, data, fnSuc, dataType) {
var connectionType = api.connectionType;
if (connectionType == 'none') {
api.toast({
msg : 'The network unavailable! Check your network settings.',
duration : CONST_TOAST_DURATION
});
return;
}


com.jiaxin.mbp.showProgress();


if (!dataType) {
dataType = 'json';
}


api.ajax({
url : url,
method : 'post',
timeout : 90,
data : {
values : data
},
dataType : dataType
}, function(ret, err) {
com.jiaxin.mbp.hideProgress();


if (ret) {
fnSuc(ret);
}


if (err) {
api.hideProgress();
api.toast({
msg : err.msg,
duration : CONST_TOAST_DURATION
});
}
});
},


/*
* 参数为json对象数组
*/
log : function(c) {
var $body = $api.dom("body");
$api.append($body, "<p style='width:100%;overflow:auto'>");
for (var i = 0; i < arguments.length; i++) {
$api.append($body, "<span style=\"color:red\">" + JSON.stringify(arguments[i]) + "</span>");
if (i != arguments.length - 1)
$api.append($body, ", ");
}
$api.append($body, "</p>");
},


fmtDate : function(date, dateSeparator) {
if (!dateSeparator) {
dateSeparator = '-';
}


function padZero(n) {
return n > 9 ? n : "0" + n;
}


if (( typeof date) == "string") {
date = date.replace(/\./g, '/');
date = new Date(date);
}
if (!( date instanceof Date) || !(date.getYear())) {
console.warn(date, 'is not a date');
return date;
}
var ret = "" + date.getFullYear() + dateSeparator + padZero(date.getMonth() + 1) + dateSeparator + padZero(date.getDate())
return ret;
},


fmtDateTime : function(date, dateSeparator) {
if (!dateSeparator) {
dateSeparator = '-';
}


function padZero(n) {
return n > 9 ? n : "0" + n;
}


if (( typeof date) == "string") {
date = date.replace(/\./g, '/');
date = new Date(date);
}
if (!( date instanceof Date) || !(date.getYear())) {
console.warn(date, 'is not a date');
return date;
}
var ret = "" + date.getFullYear() + dateSeparator + padZero(date.getMonth() + 1) + dateSeparator + padZero(date.getDate()) + " " + padZero(date.getHours()) + ":" + padZero(date.getMinutes()) + ":" + padZero(date.getSeconds());
return ret;
},


/*
* 计算两个日期相差的天数,日期格式为yyyy-MM-dd
*/
dateDiff : function(_date1, _date2) {
var aDate, oDate1, oDate2, iDays
aDate = _date1.split("-")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])//转换为MM-dd-yyyy格式
aDate = _date2.split("-")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24)//把相差的毫秒数转换为天数
return iDays
},


/*
* 格式化钱数:XXX,XXX,XX.XX
*/
fmtCurrency : function(n, symbol) {
if (!symbol) {
symbol = '¥';
}
if (n === undefined || n === null || !n.toFixed) {
console.warn(n + " is not a number");
return n;
}
n = n.toFixed(2);
var decCount = n.length - 3;
if (n.charAt(0) == '-')
decCount--;
var commas = Math.ceil(decCount / 3 - 1);
var ret = "";
for (var i = commas; i > 0; i--) {
var position = n.length - 3 - i * 3
var start = (i == commas) ? 0 : position - 3;
ret += n.substring(start, position) + ',';
}
ret += n.substring(n.length - 6);
return symbol + ret;
},


back : function() {
api.closeWin({
});
},


/*
* 检查网络是否可用
*/
netIsConnected : function() {
var connectionType = api.connectionType;
if (connectionType == 'none') {
api.toast({
msg : '网络不可用,请检查您的网络设置',
duration : CONST_TOAST_DURATION
});
return false;
} else {
return true;
}
},


systemType : function() {
return api.systemType;
},


/*
* 调用原生的时间选择控件,可以选择年月日或者时间,返回值:year、month、day、hour、minute
* @param {Object} type: 'date'-日期  'time'-时间  'date_time'-日期和时间,android不支持
* @param {Object} date
*/
showDatePicker : function(type, fnSucCallback) {
api.openPicker({
type : type,
title : '请选择'
}, function(ret, err) {
if (ret) {
fnSucCallback(ret);
} else {
COMMON_toastError();
}


if (err) {
COMMON_toastError();
}
});
},


/*
* 对象合并
*/
extendObj : function(_obj1, _obj2) {
for (var key in _obj2) {
if (_obj1.hasOwnProperty(key))
continue;
//有相同的属性则略过
_obj1[key] = _obj2[key];
}
return _obj1;
},


openWin : function(param) {
var innerParam = {
vScrollBarEnabled : false,
delay : 400,
reload : false
}
innerParam = com.jiaxin.mbp.extendObj(param, innerParam);
api.openWin(innerParam);
},


openFrame : function(param) {
var innerParam = {
bounces : false
}
innerParam = com.jiaxin.mbp.extendObj(param, innerParam);
api.openFrame(innerParam);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值