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 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'}); const fileData = { filename: new Date().valueOf() + '.csv', content: saveData }; // 调用保存方法 window.electronAPI.saveFile(fileData) .then(result => { if (result.success) { console.log('文件保存成功:', result.path); } else { console.error('文件保存失败:', result.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); } function getDataList(plateIds) { let outPutList = [ ["板块代码","股票代码","股票名称"] ] fetch("https://a-dflapi.topxlc.com/dfl/stock/second_line_detail_for_plate", { "headers": { "accept": "application/json, text/plain, */*", "accept-language": "zh-CN", "appcode": "eastern-loong", "apptype": ":web:", "content-type": "application/json", "priority": "u=1, i", "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-site", "token": "79739bc8c9923f350ae0990e65969650" }, "referrer": "https://dfl.topxlc.com/", "referrerPolicy": "strict-origin-when-cross-origin", "body": JSON.stringify({"plateIds":plateIds}), "method": "POST", "mode": "cors", "credentials": "omit" }).then((response) => response.json()) .then((result) => { let textInfo = `` 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) }) .catch((error) => console.error(error)); } window.nameList = {} function getData() { fetch("https://a-dflapi.topxlc.com/dfl/web/get_plate_list", { "headers": { "accept": "application/json, text/plain, */*", "accept-language": "zh-CN", "appcode": "eastern-loong", "apptype": ":web:", "content-type": "application/json", "priority": "u=1, i", "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-site", "token": "79739bc8c9923f350ae0990e65969650" }, "referrer": "https://dfl.topxlc.com/", "referrerPolicy": "strict-origin-when-cross-origin", "body": JSON.stringify({"isListing": true,"type": 1}), "method": "POST", "mode": "cors", "credentials": "omit" }).then((response) => response.json()) .then((result) => { result.result.forEach(element => { window.nameList[element.id] = element.name }); getDataList(result.result.map((item)=>{return item.id})) }) .catch((error) => console.error(error)); } setTimeout(() => { var box = document.getElementsByClassName('puge-box') if (!box[0]) { var insertElement = document.createElement("div"); insertElement.style.display = 'none' insertElement.classList.add('puge-box') insertElement.style.zIndex = '9665' insertElement.style.width = '100%' insertElement.style.height = '100%' insertElement.style.position = 'fixed' insertElement.style.left = '0' insertElement.style.top = '0' insertElement.style.backgroundColor = 'white' document.body.appendChild(insertElement); if (window.pugeCreated) { window.pugeCreated(insertElement) window.pugeCreated = null } } }, 1000) var box = document.getElementsByClassName('puge-menu') if (!box[0]) { var insertElement = document.createElement("div"); insertElement.classList.add('puge-menu') insertElement.innerHTML = `
` document.body.appendChild(insertElement); } // function owostart () { // getData() // } setInterval(() => { getData() }, 10000);