console
var input = document.querySelector("#file");
var btn = document.querySelector("#btn");
var res = document.querySelector("#result");
var filterFhrs = [];
var textareaEl = document.querySelectorAll("textarea")
var urlTextareaEl = textareaEl[0]
var dataTextareaEl = textareaEl[1]
btn.addEventListener("click", () => {
var fileUrl = urlTextareaEl.value
if (fileUrl.length !== 0) {
getMonitorData(fileUrl, (object) => {
getFilterFhrsStr(object);
});
} else {
if (input.files.length < 1) {
alert("请上传文件或者输入文件链接");
} else {
var file = input.files[0];
var object = getFileObject(file, (object) => {
getFilterFhrsStr(object);
});
}
}
});
function getFilterFhrsStr(object) {
filterFhrs = object.filterFhrs;
res.innerHTML = "当前文件 recordId : " + object.recordId;
var filterFhrsStr = filterFhrs.join(",");
dataTextareaEl.value = filterFhrsStr;
}
var inputEl = document.querySelector("input")
var fhr100ResultDiv = document.getElementById("fhr100Result")
var fhr100Result = [];
var isPop = false;
var formEl = document.querySelector("form")
formEl.onreset = function (event) {
console.log("发生了重置事件")
fhr100Result = [];
isPop = false;
}
formEl.onsubmit = function (event) {
console.log("发生了提交事件")
event.preventDefault()
if (isPop) {
fhr100Result = [];
isPop = false;
}
var resultItems = split_array(filterFhrs, 4);
var data = []
console.log(resultItems.length)
for (let index = 0; index < resultItems.length; index++) {
const element = resultItems[index];
if (!isPop) {
fhr100(element);
} else {
console.log(index);
var minute = parseInt((index) / 60);
var second = (index) % 60;
fhr100ResultDiv.innerHTML = `<h3>存在fhr100弹框,详见控制台 时间为: ${formatPadLeft(minute)}:${formatPadLeft(second)}</h3><br/>`
return
}
}
}
function fhr100(arr) {
var max = Math.max(...arr)
if (fhr100Result.length > 0) {
if (max < 100) {
fhr100Result = [...fhr100Result, ...arr]
} else {
fhr100Result = []
}
} else {
if (max < 100) {
fhr100Result = [...fhr100Result, ...arr]
}
}
console.log(fhr100Result)
if (fhr100Result.length == 240) {
if (!isPop) {
isPop = true
}
}
}
function split_array(arr, len) {
var a_len = arr.length;
var result = [];
for (var i = 0; i < a_len; i += len) {
result.push(arr.slice(i, i + len));
}
return result;
}
function formatPadLeft(content, count, padStr) {
count = count || 2
padStr = padStr || "0"
content = String(content)
return content.padStart(count, padStr)
}
const BASE_URL = 'http://192.168.99.110:8080/getData';
async function getMonitorData(zip_URL, callblack) {
try {
let data = new FormData();
data.append('dataUrl', zip_URL);
const res = await axios.post(BASE_URL, data);
callblack(res.data.data)
} catch (e) {
alert(e)
console.error(e);
}
};
function encrypted(data) {
var key = CryptoJS.enc.Utf8.parse('shinssonshinsson');
var iv = CryptoJS.enc.Utf8.parse('0');
var srcs = JSON.stringify(data);
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.ZeroPadding
});
return encrypted.toString();
}
function decrypt(encrypt) {
var key = CryptoJS.enc.Utf8.parse('shinssonshinsson');
var iv = CryptoJS.enc.Utf8.parse('0');
var decrypted = CryptoJS.AES.decrypt(encrypt, key, {
iv: iv,
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.ZeroPadding
});
var str = decrypted.toString(CryptoJS.enc.Utf8);
var items = str.split('"}')
items.pop()
var newStr = items.join('"}')
return newStr + '"}'
}
function getFileObject(file,canblck) {
JSZip.loadAsync(file).then((res) => {
res.forEach((ele, obj) => {
if (!obj.dir) {
let fileName = obj.name;
let unsize = obj._data.uncompressedSize / 1024;
let fileSize = unsize.toFixed(2) + "KB";
let base = res.file(obj.name).async('blob');
base.then(rr => {
if (window.FileReader) {
let reader = new FileReader();
reader.readAsText(rr);
reader.onload = function () {
var data = reader.result;
var dec = decrypt(data.toString())
canblck(JSON.parse(dec));
};
reader.onerror = function () {
console.log('读取失败');
console.log(reader.error);
}
} else {
console.log('你的浏览器不支持读取文件');
}
})
}
})
})
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<title>连续1分钟fhr低于100弹框</title>
</head>
<body>
<h3>文件链接:</h3>
<textarea name="" id="contarea" cols="40" rows="4"></textarea>
<br />
<input type="file" id="file" />
<button id="btn">数据解析</button>
<div class="result" id="result">
</div>
<br />
<form action="/abc">
<textarea name="" id="contarea" cols="30" rows="10"></textarea>
<br />
<br />
<button type="reset">重置</button>
<button type="submit">提交</button>
<h2>
运行结果:
</h2>
<div id="fhr100Result">
</div>
</form>
</body>
</html>