parent
15802e879c
commit
ee40ff0a94
3 changed files with 366 additions and 0 deletions
@ -0,0 +1,173 @@ |
|||||||
|
(function() { |
||||||
|
|
||||||
|
axios.defaults.timeout = 1000 * 60; |
||||||
|
axios.defaults.baseURL = '';
|
||||||
|
|
||||||
|
//http request 拦截器
|
||||||
|
axios.interceptors.request.use( |
||||||
|
|
||||||
|
function(config) { |
||||||
|
config.headers = { |
||||||
|
'Content-Type': 'application/x-www-form-urlencoded', |
||||||
|
'X-Requested-With': 'XMLHttpRequest' |
||||||
|
} |
||||||
|
if (config.method === 'post' && config.headers["Content-Type"] === "application/x-www-form-urlencoded") { |
||||||
|
config.data = Qs.stringify(config.data, { |
||||||
|
allowDots: true |
||||||
|
}); |
||||||
|
} |
||||||
|
return config; |
||||||
|
}, |
||||||
|
function(error) { |
||||||
|
return Promise.reject(err); |
||||||
|
} |
||||||
|
); |
||||||
|
|
||||||
|
|
||||||
|
//http response 拦截器
|
||||||
|
axios.interceptors.response.use( |
||||||
|
function(response) { |
||||||
|
//登录失效
|
||||||
|
if (response.data.bizCode == "401") { |
||||||
|
window.parent.location.href = ms.base + "/" + ms.login + "?backurl=" + encodeURIComponent(window.parent.location.href); |
||||||
|
return; |
||||||
|
} |
||||||
|
return response; |
||||||
|
}, |
||||||
|
function(error) { |
||||||
|
return Promise.reject(error) |
||||||
|
} |
||||||
|
) |
||||||
|
|
||||||
|
function ajax(conf) { |
||||||
|
if (conf != undefined) { |
||||||
|
var _axios = axios.create({ |
||||||
|
baseURL: conf.baseURL == undefined ? axios.defaults.baseURL : conf.baseURL, |
||||||
|
timeout: conf.timeout == undefined ? axios.defaults.timeout : conf.timeout, |
||||||
|
headers: conf.headers == undefined ? null : conf.headers, |
||||||
|
}); |
||||||
|
_axios.interceptors.request.use( |
||||||
|
function(config) { |
||||||
|
if (config.method === 'post' && config.headers["Content-Type"] === "application/x-www-form-urlencoded") { |
||||||
|
config.data = Qs.stringify(config.data, { |
||||||
|
allowDots: true |
||||||
|
}); |
||||||
|
} |
||||||
|
return config; |
||||||
|
}, |
||||||
|
function(error) { |
||||||
|
return Promise.reject(err); |
||||||
|
} |
||||||
|
); |
||||||
|
return _axios; |
||||||
|
} |
||||||
|
return axios; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 封装get方法 |
||||||
|
* @param url |
||||||
|
* @param data |
||||||
|
* @returns {Promise} |
||||||
|
*/ |
||||||
|
|
||||||
|
function get(url, params) { |
||||||
|
if (params == undefined) { |
||||||
|
params = {} |
||||||
|
} |
||||||
|
return new Promise(function(resolve, reject) { |
||||||
|
ajax().get(url, { |
||||||
|
params: params |
||||||
|
}) |
||||||
|
.then(function(response) { |
||||||
|
resolve(response.data); |
||||||
|
}) |
||||||
|
.catch(function(err) { |
||||||
|
reject(err) |
||||||
|
}) |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 封装post请求 |
||||||
|
* @param url |
||||||
|
* @param data |
||||||
|
* @returns {Promise} |
||||||
|
*/ |
||||||
|
|
||||||
|
function post(url, data, conf) { |
||||||
|
|
||||||
|
if (data == undefined) { |
||||||
|
data = {} |
||||||
|
} |
||||||
|
|
||||||
|
return new Promise(function(resolve, reject) { |
||||||
|
ajax(conf).post(url, data, conf) |
||||||
|
.then(function(response) { |
||||||
|
resolve(response.data); |
||||||
|
}, function(err) { |
||||||
|
reject(err) |
||||||
|
}) |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 封装patch请求 |
||||||
|
* @param url |
||||||
|
* @param data |
||||||
|
* @returns {Promise} |
||||||
|
*/ |
||||||
|
|
||||||
|
function patch(url, data, conf) { |
||||||
|
|
||||||
|
if (data == undefined) { |
||||||
|
data = {} |
||||||
|
} |
||||||
|
return new Promise(function(resolve, reject) { |
||||||
|
ajax(conf).patch(url, data, conf) |
||||||
|
.then(function(response) { |
||||||
|
resolve(response); |
||||||
|
}, function(err) { |
||||||
|
reject(err) |
||||||
|
}) |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 封装put请求 |
||||||
|
* @param url |
||||||
|
* @param data |
||||||
|
* @returns {Promise} |
||||||
|
*/ |
||||||
|
function put(url, data, conf) { |
||||||
|
|
||||||
|
if (data == undefined) { |
||||||
|
data = {} |
||||||
|
} |
||||||
|
return new Promise(function(resolve, reject) { |
||||||
|
ajax(conf).put(url, data, conf) |
||||||
|
.then(function(response) { |
||||||
|
resolve(response.data); |
||||||
|
}, function(err) { |
||||||
|
reject(err) |
||||||
|
}) |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
var http = { |
||||||
|
get: get, |
||||||
|
post: post, |
||||||
|
put: put, |
||||||
|
patch: patch |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
if (typeof ms != "object") { |
||||||
|
window.ms = {}; |
||||||
|
} |
||||||
|
window.ms.http = http; |
||||||
|
}()); |
||||||
@ -0,0 +1,11 @@ |
|||||||
|
(function(window) { |
||||||
|
var ms = { |
||||||
|
base: null, //主机地址
|
||||||
|
login:"/login.htm", //登录页面
|
||||||
|
debug:true, //测试模式
|
||||||
|
log:function(msg) { |
||||||
|
console.log(msg); |
||||||
|
} |
||||||
|
} |
||||||
|
window.ms = ms; |
||||||
|
})(window);
|
||||||
@ -0,0 +1,182 @@ |
|||||||
|
/** |
||||||
|
* 通用工具类
|
||||||
|
*/ |
||||||
|
(function() { |
||||||
|
|
||||||
|
/** |
||||||
|
* 地址栏获取参数 |
||||||
|
* @param name 参数名称 |
||||||
|
* @return {*} |
||||||
|
*/ |
||||||
|
function getParameter(name) { |
||||||
|
try { |
||||||
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); |
||||||
|
var r = window.location.search.substr(1).match(reg); |
||||||
|
if (r != null) { |
||||||
|
return decodeURI(r[2]); |
||||||
|
} |
||||||
|
return null; |
||||||
|
} catch (e) { |
||||||
|
log(e.message); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
//日期处理
|
||||||
|
var date = { |
||||||
|
//格式化时间
|
||||||
|
fmt: function(date, fmt) { |
||||||
|
var date = new Date(date); |
||||||
|
log(fmt); |
||||||
|
if (fmt == undefined || validator.isEmpty(fmt)) { |
||||||
|
fmt = "yyyy-mm-dd"; |
||||||
|
} |
||||||
|
var o = { |
||||||
|
"M+": date.getMonth() + 1, //月份
|
||||||
|
"d+": date.getDate(), //日
|
||||||
|
"h+": date.getHours(), //小时
|
||||||
|
"m+": date.getMinutes(), //分
|
||||||
|
"s+": date.getSeconds(), //秒
|
||||||
|
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
|
||||||
|
"S": date.getMilliseconds() //毫秒
|
||||||
|
}; |
||||||
|
if (/(y+)/.test(fmt)) |
||||||
|
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); |
||||||
|
for (var k in o) |
||||||
|
if (new RegExp("(" + k + ")").test(fmt)) |
||||||
|
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); |
||||||
|
return fmt; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
var array = { |
||||||
|
|
||||||
|
//根据key清理arr里面重复的值
|
||||||
|
unique: function(arr, key) { |
||||||
|
if (arr.length == 0) { |
||||||
|
return; |
||||||
|
} |
||||||
|
var result = [arr[0]]; |
||||||
|
for (var i = 1; i < arr.length; i++) { |
||||||
|
var item = arr[i]; |
||||||
|
var repeat = false; |
||||||
|
var repeat = false; |
||||||
|
for (var j = 0; j < result.length; j++) { |
||||||
|
if (item[key] == result[j][key]) { |
||||||
|
if (item['write'] && result[j]['write'] == false) { |
||||||
|
break; |
||||||
|
} |
||||||
|
repeat = true; |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
if (!repeat) { |
||||||
|
result.push(item); |
||||||
|
} |
||||||
|
} |
||||||
|
return result; |
||||||
|
}, |
||||||
|
//根据pro属性与value移除arr对应的值
|
||||||
|
remove: function(arr, attr, value) { |
||||||
|
for (var j = 0; j < arr.length; j++) { |
||||||
|
if (arr[j][attr] == value) { |
||||||
|
arr.splice(j, 1); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
var convert = { |
||||||
|
byte: function(bytes) { |
||||||
|
if (isNaN(bytes)) { |
||||||
|
return ''; |
||||||
|
} |
||||||
|
var symbols = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; |
||||||
|
var exp = Math.floor(Math.log(bytes) / Math.log(2)); |
||||||
|
if (exp < 1) { |
||||||
|
exp = 0; |
||||||
|
} |
||||||
|
var i = Math.floor(exp / 10); |
||||||
|
bytes = bytes / Math.pow(2, 10 * i); |
||||||
|
|
||||||
|
if (bytes.toString().length > bytes.toFixed(2).toString().length) { |
||||||
|
bytes = bytes.toFixed(2); |
||||||
|
} |
||||||
|
return bytes + ' ' + symbols[i]; |
||||||
|
}, |
||||||
|
|
||||||
|
//根据经纬度计算记录
|
||||||
|
distance: function(lon1, lat1, lon2, lat2) { |
||||||
|
var DEF_PI = 3.14159265359; // PI
|
||||||
|
var DEF_2PI = 6.28318530712; // 2*PI
|
||||||
|
var DEF_PI180 = 0.01745329252; // PI/180.0
|
||||||
|
var DEF_R = 6370693.5; // radius of earth
|
||||||
|
|
||||||
|
var ew1, ns1, ew2, ns2; |
||||||
|
var dx, dy, dew; |
||||||
|
var distance; |
||||||
|
// 角度转换为弧度
|
||||||
|
ew1 = lon1 * DEF_PI180; |
||||||
|
ns1 = lat1 * DEF_PI180; |
||||||
|
ew2 = lon2 * DEF_PI180; |
||||||
|
ns2 = lat2 * DEF_PI180; |
||||||
|
// 经度差
|
||||||
|
dew = ew1 - ew2; |
||||||
|
// 若跨东经和西经180 度,进行调整
|
||||||
|
if (dew > DEF_PI) |
||||||
|
dew = DEF_2PI - dew; |
||||||
|
else if (dew < -DEF_PI) |
||||||
|
dew = DEF_2PI + dew; |
||||||
|
dx = DEF_R * Math.cos(ns1) * dew; // 东西方向长度(在纬度圈上的投影长度)
|
||||||
|
dy = DEF_R * (ns1 - ns2); // 南北方向长度(在经度圈上的投影长度)
|
||||||
|
// 勾股定理求斜边长
|
||||||
|
distance = Math.sqrt(dx * dx + dy * dy).toFixed(0); |
||||||
|
return distance; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var log = function(msg) { |
||||||
|
if (ms.debug) { |
||||||
|
console.log(msg); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
var store = { |
||||||
|
set: function(key, value) { |
||||||
|
window.sessionStorage.setItem(key, value); |
||||||
|
}, |
||||||
|
get: function(key) { |
||||||
|
return window.sessionStorage.getItem(key); |
||||||
|
}, |
||||||
|
remove: function(key) { |
||||||
|
window.sessionStorage.removeItem(key); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
var cookie = { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
var util = { |
||||||
|
getParameter: getParameter, |
||||||
|
date: date, |
||||||
|
array: array, |
||||||
|
log: log, |
||||||
|
convert: convert, |
||||||
|
store: store, |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (typeof ms != "object") { |
||||||
|
window.ms = {}; |
||||||
|
} |
||||||
|
window.ms.util = util; |
||||||
|
}()); |
||||||
Loading…
Reference in new issue