let owoLoadList = [] function loadCSS (url) { if (owoLoadList.includes(url)) { return } owoLoadList.push(url) var link = document.createElement("link"); link.rel = "stylesheet"; link.type = "text/css"; link.href = url; document.getElementsByTagName("head")[0].appendChild(link); } if (document.querySelector('.puge-box')) document.querySelector('.puge-box').outerHTML = '' // 保存CSV function fake_click(obj) { var ev = document.createEvent("MouseEvents"); ev.initMouseEvent( "click", true, false, window, 0, 0, 0, 0, 0 , false, false, false, false, 0, null ); obj.dispatchEvent(ev); } function download(name, data) { var urlObject = window.URL || window.webkitURL || window; var downloadData = new Blob([data]); var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a") save_link.href = urlObject.createObjectURL(downloadData); save_link.download = name; fake_click(save_link); } function blobToString(blob) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onload = function(event) { resolve(event.target.result); }; reader.onerror = function(error) { reject(error); }; // 读取Blob内容为文本字符串 reader.readAsText(blob, 'UTF-8'); }); } function saveCSV (name, data) { let saveData = '' data.forEach(element => { if (element) { saveData += element.join(',') saveData += '\r\n' } }); var urlObject = window.URL || window.webkitURL || window; var downloadData = new Blob(['\ufeff' + saveData], { type: 'text/csv,charset=UTF-8'}); // 转换为字符串 blobToString(downloadData) .then(blobStr => { console.log('Blob内容:', blobStr); // 这里可以使用转换后的字符串 const fileData = { filename: 'data.csv', content: blobStr }; // 调用保存方法 window.electronAPI.saveFile(fileData) .then(result => { if (result.success) { console.log('文件保存成功:', result.path); } else { console.error('文件保存失败:', result.error); } }); }) .catch(error => { console.error('转换失败:', error); }); // var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a") // save_link.href = urlObject.createObjectURL(downloadData); // save_link.download = name; // fake_click(save_link); } window.nameList = {} window.onInterceptedData = function (data) { window.systemInfo = data console.log(data.url) if (data.url == 'https://a-dflapi.topxlc.com/dfl/web/get_plate_list') { const result = JSON.parse(data.responseBody) result.result.forEach(element => { window.nameList[element.id] = element.name }); } if (data.url== "https://a-dflapi.topxlc.com/dfl/stock/second_line_detail_for_plate") { const result = JSON.parse(data.responseBody) let textInfo = `` let outPutList = [ ["板块代码","股票代码","股票名称"] ] for (const key in result.result) { if (Object.prototype.hasOwnProperty.call(result.result, key)) { const element = result.result[key]; element.forEach(element2 => { textInfo += element2.codeName outPutList.push([window.nameList[key], element2.code.split('.')[0], element2.codeName]) }); } } // console.log(outPutList) saveCSV('data.csv', outPutList) } };