From 6b4606f2b5201efe8eacd08bde25cd2766bfc3ef Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Sat, 2 Aug 2025 15:20:13 +0000 Subject: [PATCH] =?UTF-8?q?=E5=90=84=E7=A8=AE=E7=8B=AC=E8=87=AA=E3=83=87?= =?UTF-8?q?=E3=83=BC=E3=82=BF=E3=82=92=E6=AF=8E=E5=88=86=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E3=81=97=E3=81=A6=E8=87=AA=E5=8B=95=E5=8F=96=E5=BE=97=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/webViewInjectjavascript.ts | 85 ++++++++++++++++++++++++---------- 1 file changed, 61 insertions(+), 24 deletions(-) diff --git a/lib/webViewInjectjavascript.ts b/lib/webViewInjectjavascript.ts index f6a6795..5c6e9e4 100644 --- a/lib/webViewInjectjavascript.ts +++ b/lib/webViewInjectjavascript.ts @@ -32,39 +32,76 @@ export const injectJavascriptData: InjectJavascriptData = ( // 上部ヘッダーの取り扱い、自動再読み込み、setStringsの実行 const bootData = ` + // 起動時にブラウザにlodashを読み込むscript追加処理 + const script = document.createElement('script'); + script.src = "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"; + document.head.appendChild(script); + let stationList = {}; fetch("https://n8n.haruk.in/webhook/jr-shikoku-station-list").then((response) => response.json()).then((data) => { stationList = data; - }); - let trainDataList = []; - fetch("https://n8n.haruk.in/webhook/jr-shikoku-position-custom-datalist").then((response) => response.json()).then((data) => { - trainDataList = data[0].data; }).then(()=>setReload()); - let trainDiagramData2 = {}; - fetch("https://n8n.haruk.in/webhook/JR-shikoku-diagram-migrate-original") - .then((response) => response.json()) - .then((res)=>res.data) - .then((res) => { - const data = {}; - res.forEach((d) => { - const keys = Object.keys(d); - data[keys] = d[keys]; + + let trainDataList = []; + const DatalistUpdate = () =>{ + try{ + fetch("https://n8n.haruk.in/webhook/jr-shikoku-position-custom-datalist").then((response) => response.json()) + .then((data) => data[0].data) + .then((data) => { + if(!_.isEqual(data, trainDataList)) { + trainDataList = data; + setReload(); + } }); - return data; - }) - .then((data) => { - trainDiagramData2 = data; - }); + }catch(error){} + setTimeout(DatalistUpdate, 60000); + } + DatalistUpdate(); + + + let trainDiagramData2 = {}; + const TrainDiagramData2Update = () =>{ + try{ + fetch("https://n8n.haruk.in/webhook/JR-shikoku-diagram-migrate-original") + .then((response) => response.json()) + .then((res)=>res.data) + .then((res) => { + const data = {}; + res.forEach((d) => { + const keys = Object.keys(d); + data[keys] = d[keys]; + }); + return data; + }) + .then((data) => { + if(!_.isEqual(data, trainDiagramData2)) { + trainDiagramData2 = data; + setReload(); + } + }); + }catch(error){} + setTimeout(TrainDiagramData2Update, 60000); + } + TrainDiagramData2Update(); + let probremsData = []; - fetch("https://n8n.haruk.in/webhook/jrshikoku-position-problems").then((response) => response.json()).then((data) => { - probremsData = data.data; - }); + + const getProblemsData = () =>{ + try{ + fetch("https://n8n.haruk.in/webhook/jrshikoku-position-problems").then((response) => response.json()).then((data) => { + if(!_.isEqual(data, probremsData)) { + probremsData = data.data; + setReload(); + } + }); + }catch(error){} + setTimeout(getProblemsData, 30000); + } + getProblemsData(); + const setReload = () =>{ try{ document.getElementById('refreshIcon').click(); - fetch("https://n8n.haruk.in/webhook/jrshikoku-position-problems").then((response) => response.json()).then((data) => { - probremsData = data.data; - }); setStrings(); }catch(error){} setTimeout(setReload, 10000);