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);