216 lines
4.7 KiB
JavaScript
216 lines
4.7 KiB
JavaScript
//var g_appid = '14919772144482';
|
|
//var g_devkey = '14915485974028';
|
|
var g_RequestAddress = 'https://api2.tscce.cn';
|
|
|
|
/**
|
|
* @note 字符串格式化
|
|
* @param fn_objs
|
|
* @returns object
|
|
* @constructor
|
|
*/
|
|
Overload = function (fn_objs) {
|
|
var is_match = function (x, y) {
|
|
if (x == y) {
|
|
return true;
|
|
}
|
|
if (x.indexOf("*") == -1) {
|
|
return false;
|
|
}
|
|
|
|
var x_arr = x.split(","), y_arr = y.split(",");
|
|
if (x_arr.length != y_arr.length) {
|
|
return false;
|
|
}
|
|
|
|
while (x_arr.length) {
|
|
var x_first = x_arr.shift(), y_first = y_arr.shift();
|
|
if (x_first != "*" && x_first != y_first) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
};
|
|
var ret = function () {
|
|
var args = arguments
|
|
, args_len = args.length
|
|
, args_types = []
|
|
, args_type
|
|
, fn_objs = args.callee._fn_objs
|
|
, match_fn = function () {
|
|
};
|
|
|
|
for (var i = 0; i < args_len; i++) {
|
|
var type = typeof args[i];
|
|
type == "object" && (args[i].length > -1) && (type = "array");
|
|
args_types.push(type);
|
|
}
|
|
args_type = args_types.join(",");
|
|
for (var k in fn_objs) {
|
|
if (is_match(k, args_type)) {
|
|
match_fn = fn_objs[k];
|
|
break;
|
|
}
|
|
}
|
|
return match_fn.apply(this, args);
|
|
};
|
|
ret._fn_objs = fn_objs;
|
|
return ret;
|
|
};
|
|
|
|
/**
|
|
* 通过对字符串进行伪重载实现对字符串对象的格式化功能
|
|
* @type {Object}
|
|
*/
|
|
String.prototype.format = Overload({
|
|
|
|
"array": function (params) {
|
|
var reg = /{(\d+)}/gm;
|
|
return this.replace(reg, function (match, name) {
|
|
return params[~~name];
|
|
});
|
|
},
|
|
|
|
"object": function (param) {
|
|
var reg = /{([^{}]+)}/gm;
|
|
return this.replace(reg, function (match, name) {
|
|
return param[name];
|
|
});
|
|
}
|
|
|
|
});
|
|
|
|
|
|
function getQueryString(name) {
|
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
|
var r = window.location.search.substr(1).match(reg);
|
|
if (r != null) {
|
|
return r[2];
|
|
}
|
|
return null;
|
|
}
|
|
|
|
|
|
//------------设置Cookie参数方法------------//
|
|
function setCookie(name, value) {
|
|
var Days = 30; //此 cookie 将被保存 30 天
|
|
var exp = new Date();
|
|
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
|
|
document.cookie = name + "=" + value + ";expires=" + exp.toGMTString();
|
|
}
|
|
|
|
|
|
//------------获取Cookie参数方法------------//
|
|
function getCookie(name) {
|
|
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
|
|
if (arr != null) {
|
|
return arr[2];
|
|
}
|
|
return null;
|
|
}
|
|
|
|
|
|
//------------删除Cookie参数方法------------//
|
|
function delCookie(name) {
|
|
var exp = new Date();
|
|
exp.setTime(exp.getTime() - 1);
|
|
var cval = getCookie(name);
|
|
if (cval != null) {
|
|
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 获取随机数
|
|
*/
|
|
function randomChar(length) {
|
|
var x = "0123456789qwertyuioplkjhgfdsazxcvbnm";
|
|
var tmp = "";
|
|
var timestamp = new Date().getTime();
|
|
for (var i = 0; i < length; i++) {
|
|
tmp += x.charAt(Math.ceil(Math.random() * 100000000) % x.length);
|
|
}
|
|
return timestamp + tmp;
|
|
}
|
|
|
|
|
|
function localeUrl() {
|
|
var url = window.location.origin + window.location.pathname;
|
|
var index = url.indexOf('?');
|
|
if (-1 == index)
|
|
return url;
|
|
else
|
|
return name.substr(0, index);
|
|
}
|
|
|
|
|
|
function extractPath(name) {
|
|
var index = name.lastIndexOf('/');
|
|
if (-1 == index)
|
|
return name;
|
|
else
|
|
return name.substr(0, index + 1);
|
|
}
|
|
|
|
|
|
function HttpRequest(args) {
|
|
var defaults =
|
|
{
|
|
url: g_RequestAddress,
|
|
async: true,
|
|
|
|
OnBeforeSend: function (/*XMLHttpRequest*/object) { },
|
|
OnComplete: function (/*XMLHttpRequest, textStatus*/object, status) { },
|
|
OnSuccess: function (/*data, textStatus*/message, status) { },
|
|
OnError: function (/*XMLHttpRequest, textStatus, errorThrown*/object, status, error) { },
|
|
},
|
|
|
|
settings = $.extend({}, defaults, args);
|
|
|
|
var data = {};
|
|
$.each(settings, function (name, value) {
|
|
if (
|
|
'async' != name &&
|
|
'url' != name &&
|
|
'OnBeforeSend' != name &&
|
|
'OnComplete' != name &&
|
|
'OnSuccess' != name &&
|
|
'OnError' != name
|
|
) {
|
|
data[name] = value;
|
|
}
|
|
});
|
|
|
|
//var succ = function (/*data, textStatus*/message, status) {
|
|
// var obj = eval("(" + decodeURIComponent(message) + ")");
|
|
// if (!obj) {
|
|
// //alert('pager6');
|
|
// window.location.href = PAGENAME_LOGIN + "?manager_id=" + getCookie(g_managerid);
|
|
// return false;
|
|
// }
|
|
// else if (1 == obj.error && 10008 == obj.error_code) {
|
|
// //alert('pager7');
|
|
// window.location.href = PAGENAME_LOGIN + "?manager_id=" + getCookie(g_managerid);
|
|
// return false;
|
|
// }
|
|
// else {
|
|
// return settings.OnSuccess(message, status);
|
|
// }
|
|
//};
|
|
|
|
$.ajax({
|
|
url: settings.url,
|
|
type: 'post',
|
|
async: settings.async,
|
|
data: data,
|
|
datatype: 'json',
|
|
timeout: 1000 * 7,
|
|
beforeSend: settings.OnBeforeSend,
|
|
success: settings.OnSuccess,
|
|
//success: succ,
|
|
error: settings.OnError,
|
|
complete: settings.OnComplete,
|
|
});
|
|
|
|
return settings;
|
|
} |