89 lines
2.8 KiB
JavaScript
89 lines
2.8 KiB
JavaScript
|
|
window.detectMobileDevice = function () {
|
|||
|
|
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
|||
|
|
}
|
|||
|
|
window.localStorageFuncs = {
|
|||
|
|
set: function (key, value) {
|
|||
|
|
localStorage.setItem(key, value);
|
|||
|
|
},
|
|||
|
|
get: function (key, start) {
|
|||
|
|
if (start === undefined) {
|
|||
|
|
start = 0;
|
|||
|
|
}
|
|||
|
|
var t = localStorage.getItem(key);
|
|||
|
|
if (t == null) {
|
|||
|
|
return null;
|
|||
|
|
}
|
|||
|
|
var rv;
|
|||
|
|
if (t.length - start > 20000) {
|
|||
|
|
rv = t.substring(start, start+20000);
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
rv = t.substring(start);
|
|||
|
|
}
|
|||
|
|
return rv;
|
|||
|
|
},
|
|||
|
|
remove: function (key) {
|
|||
|
|
localStorage.removeItem(key);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
window.urlFuncs = {
|
|||
|
|
getCurrentUrl: function () {
|
|||
|
|
return window.location.href;
|
|||
|
|
},
|
|||
|
|
redirect: function (url) {
|
|||
|
|
window.location.href = url;
|
|||
|
|
},
|
|||
|
|
refresh: function () {
|
|||
|
|
window.location.reload();
|
|||
|
|
},
|
|||
|
|
download: function (url, data, method = "POST") {
|
|||
|
|
var xhr = new XMLHttpRequest();
|
|||
|
|
xhr.open(method, url, true); // 也可以使用POST方式,根据接口
|
|||
|
|
xhr.responseType = "blob"; // 返回类型blob
|
|||
|
|
xhr.setRequestHeader('content-type', 'application/json');
|
|||
|
|
xhr.setRequestHeader('Authorization', 'Bearer ' + localStorageFuncs.get("wtmtoken"));
|
|||
|
|
xhr.onload = function () {
|
|||
|
|
if (this.status === 200) {
|
|||
|
|
var fname = this.getResponseHeader("content-disposition");
|
|||
|
|
var filename = "";
|
|||
|
|
if (/filename\*=UTF-8''(.*?)($|;|\s)/.test(fname)) {
|
|||
|
|
filename = RegExp.$1;
|
|||
|
|
}
|
|||
|
|
else if (/filename=(.*?)($|;|\s)/.test(fname))
|
|||
|
|
{
|
|||
|
|
filename = RegExp.$1;
|
|||
|
|
}
|
|||
|
|
filename = decodeURI(filename);
|
|||
|
|
var blob = this.response;
|
|||
|
|
var reader = new FileReader();
|
|||
|
|
reader.readAsDataURL(blob);
|
|||
|
|
reader.onload = function (e) {
|
|||
|
|
var a = document.createElement('a');
|
|||
|
|
a.download = filename;
|
|||
|
|
a.href = e.target.result;
|
|||
|
|
document.body.append(a);
|
|||
|
|
a.click();
|
|||
|
|
a.remove();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
// 发送ajax请求
|
|||
|
|
xhr.send(data)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
window.commonFuncs = {
|
|||
|
|
loadFinish: function () {
|
|||
|
|
var wasm = document.getElementById('loading')
|
|||
|
|
if (wasm) {
|
|||
|
|
wasm.classList.add("is-done")
|
|||
|
|
var handler = window.setTimeout(function () {
|
|||
|
|
window.clearTimeout(handler)
|
|||
|
|
wasm.remove()
|
|||
|
|
document.body.classList.remove('overflow-hidden')
|
|||
|
|
}, 600);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|