Files
jrshikoku/lib/mockApi/mockData/between.json
harukin-expo-dev-env 170fbf0a57 feat: add WebView XHR interceptor for mock train position injection
- Scrape & analyse all 19 internal APIs of train.jr-shikoku.co.jp/sp.html
  using puppeteer + Chromium remote debugging
- Save live-captured sample JSON for every API endpoint under
  lib/mockApi/mockData/ (station lists, lang, timetable, train positions, etc.)
- Add lib/mockApi/webviewXhrInterceptor.ts – generates a JS snippet that
  overrides XMLHttpRequest inside the WebView before page scripts run;
  intercepts /g?arg1=train&arg2=train (and optionally all static APIs)
  returning mock data instead of the real server response
- Add lib/mockApi/index.ts – convenience re-exports + MOCK_TRAIN_POSITIONS
  constant pre-populated with captured sample data
- Extend InjectJavascriptOptions with optional mockApiConfig field
- injectJavascriptData() prepends the interceptor JS when mockApiConfig is set
- TrainMenuContext gains mockApiEnabled / setMockApiEnabled and
  mockTrainPositions / setMockTrainPositions state; consumers can enable
  mock mode and inject custom TrainEntry[] without reloading the app

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-30 15:30:06 +00:00

592 lines
16 KiB
JSON

[
{
"BetweenStation": "高松~鬼無",
"Datas": [
{
"StationName": "香西",
"StationNumber": "Y01",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kozai.pdf"
}
]
},
{
"BetweenStation": "端岡~鴨川",
"Datas": [
{
"StationName": "国分",
"StationNumber": "Y04",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kokubu.pdf"
},
{
"StationName": "讃岐府中",
"StationNumber": "Y05",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/sanuki-fuchu.pdf"
}
]
},
{
"BetweenStation": "鴨川~坂出",
"Datas": [
{
"StationName": "八十場",
"StationNumber": "Y07",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/yasoba.pdf"
}
]
},
{
"BetweenStation": "丸亀~多度津",
"Datas": [
{
"StationName": "讃岐塩屋",
"StationNumber": "Y11",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/sanuki-shioya.pdf"
}
]
},
{
"BetweenStation": "詫間~高瀬",
"Datas": [
{
"StationName": "みの",
"StationNumber": "Y15",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/mino.pdf"
}
]
},
{
"BetweenStation": "高瀬~本山",
"Datas": [
{
"StationName": "比地大",
"StationNumber": "Y17",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/hijidai.pdf"
}
]
},
{
"BetweenStation": "伊予寒川~伊予土居",
"Datas": [
{
"StationName": "赤星",
"StationNumber": "Y25",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/akaboshi.pdf"
}
]
},
{
"BetweenStation": "石鎚山~伊予小松",
"Datas": [
{
"StationName": "伊予氷見",
"StationNumber": "Y33",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/iyo-himi.pdf"
}
]
},
{
"BetweenStation": "伊予小松~壬生川",
"Datas": [
{
"StationName": "玉之江",
"StationNumber": "Y35",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/tamanoe.pdf"
}
]
},
{
"BetweenStation": "伊予北条~粟井",
"Datas": [
{
"StationName": "柳原",
"StationNumber": "Y49",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/yanagihara.pdf"
}
]
},
{
"BetweenStation": "粟井~堀江",
"Datas": [
{
"StationName": "光洋台",
"StationNumber": "Y51",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/koyodai.pdf"
}
]
},
{
"BetweenStation": "高松~栗林",
"Datas": [
{
"StationName": "昭和町",
"StationNumber": "T27",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/showacho.pdf"
},
{
"StationName": "栗林公園北口",
"StationNumber": "T26",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/ritsurinkoen-kitaguchi.pdf"
}
]
},
{
"BetweenStation": "栗林~屋島",
"Datas": [
{
"StationName": "木太町",
"StationNumber": "T24",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kitacho.pdf"
}
]
},
{
"BetweenStation": "屋島~八栗口",
"Datas": [
{
"StationName": "古高松南",
"StationNumber": "T22",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/furutakamatsu-minami.pdf"
}
]
},
{
"BetweenStation": "八栗口~志度",
"Datas": [
{
"StationName": "讃岐牟礼",
"StationNumber": "T20",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/sanuki-mure.pdf"
}
]
},
{
"BetweenStation": "造田~讃岐津田",
"Datas": [
{
"StationName": "神前",
"StationNumber": "T16",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kanzaki.pdf"
}
]
},
{
"BetweenStation": "板野~板東",
"Datas": [
{
"StationName": "阿波川端",
"StationNumber": "T06",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/awa-kawabata.pdf"
}
]
},
{
"BetweenStation": "北伊予~伊予市",
"Datas": [
{
"StationName": "南伊予",
"StationNumber": "U02-1",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/minami-iyo.pdf"
},
{
"StationName": "伊予横田",
"StationNumber": "U03",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/iyo-yokota.pdf"
},
{
"StationName": "鳥ノ木",
"StationNumber": "U04",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/torinoki.pdf"
}
]
},
{
"BetweenStation": "向井原~伊予中山",
"Datas": [
{
"StationName": "伊予大平",
"StationNumber": "U07",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/iyo-ohira.pdf"
}
]
},
{
"BetweenStation": "内子~新谷",
"Datas": [
{
"StationName": "五十崎",
"StationNumber": "U11",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/ikazaki.pdf"
},
{
"StationName": "喜多山",
"StationNumber": "U12",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kitayama.pdf"
}
]
},
{
"BetweenStation": "伊予大洲~伊予平野",
"Datas": [
{
"StationName": "西大洲",
"StationNumber": "U15",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/nishi-ozu.pdf"
}
]
},
{
"BetweenStation": "伊予石城~卯之町",
"Datas": [
{
"StationName": "上宇和",
"StationNumber": "U21",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kami-uwa.pdf"
}
]
},
{
"BetweenStation": "伊予吉田~北宇和島",
"Datas": [
{
"StationName": "高光",
"StationNumber": "U26",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/takamitsu.pdf"
}
]
},
{
"BetweenStation": "向井原~伊予上灘",
"Datas": [
{
"StationName": "高野川",
"StationNumber": "S07",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/konokawa.pdf"
}
]
},
{
"BetweenStation": "伊予上灘~伊予長浜",
"Datas": [
{
"StationName": "下灘",
"StationNumber": "S09",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/shimonada.pdf"
},
{
"StationName": "串",
"StationNumber": "S10",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kushi.pdf"
},
{
"StationName": "喜多灘",
"StationNumber": "S11",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kitanada.pdf"
}
]
},
{
"BetweenStation": "伊予長浜~伊予白滝",
"Datas": [
{
"StationName": "伊予出石",
"StationNumber": "S13",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/iyo-izushi.pdf"
}
]
},
{
"BetweenStation": "伊予白滝~伊予大洲",
"Datas": [
{
"StationName": "八多喜",
"StationNumber": "S15",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/hataki.pdf"
},
{
"StationName": "春賀",
"StationNumber": "S16",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/haruka.pdf"
},
{
"StationName": "五郎",
"StationNumber": "S17",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/goro.pdf"
}
]
},
{
"BetweenStation": "塩入~讃岐財田",
"Datas": [
{
"StationName": "黒川",
"StationNumber": "D17",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kurokawa.pdf"
}
]
},
{
"BetweenStation": "三縄~阿波川口",
"Datas": [
{
"StationName": "祖谷口",
"StationNumber": "D24",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/iyaguchi.pdf"
}
]
},
{
"BetweenStation": "大田口~大杉",
"Datas": [
{
"StationName": "土佐穴内",
"StationNumber": "D31",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/tosa-ananai.pdf"
}
]
},
{
"BetweenStation": "土佐北川~繁藤",
"Datas": [
{
"StationName": "角茂谷",
"StationNumber": "D34",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kakumodani.pdf"
}
]
},
{
"BetweenStation": "土佐山田~後免",
"Datas": [
{
"StationName": "山田西町",
"StationNumber": "D38",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/yamadanishimachi.pdf"
},
{
"StationName": "土佐長岡",
"StationNumber": "D39",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/tosa-nagaoka.pdf"
}
]
},
{
"BetweenStation": "土佐大津~土佐一宮",
"Datas": [
{
"StationName": "布師田",
"StationNumber": "D42",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/nunoshida.pdf"
}
]
},
{
"BetweenStation": "高知~旭",
"Datas": [
{
"StationName": "入明",
"StationNumber": "K01",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/iriake.pdf"
},
{
"StationName": "円行寺口",
"StationNumber": "K02",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/engyojiguchi.pdf"
}
]
},
{
"BetweenStation": "旭~朝倉",
"Datas": [
{
"StationName": "高知商業前",
"StationNumber": "K04",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kochi-shogyomae.pdf"
}
]
},
{
"BetweenStation": "朝倉~伊野",
"Datas": [
{
"StationName": "枝川",
"StationNumber": "K06",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/edagawa.pdf"
}
]
},
{
"BetweenStation": "伊野~日下",
"Datas": [
{
"StationName": "波川",
"StationNumber": "K08",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/hakawa.pdf"
},
{
"StationName": "小村神社前",
"StationNumber": "K08-1",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/omurajinjamae.pdf"
}
]
},
{
"BetweenStation": "日下~土佐加茂",
"Datas": [
{
"StationName": "岡花",
"StationNumber": "K10",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/okabana.pdf"
}
]
},
{
"BetweenStation": "佐川~斗賀野",
"Datas": [
{
"StationName": "襟野々",
"StationNumber": "K14",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/erinono.pdf"
}
]
},
{
"BetweenStation": "多ノ郷~須崎",
"Datas": [
{
"StationName": "大間",
"StationNumber": "K18",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/oma.pdf"
}
]
},
{
"BetweenStation": "須崎~土佐久礼",
"Datas": [
{
"StationName": "土佐新荘",
"StationNumber": "K20",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/tosa-shinjo.pdf"
},
{
"StationName": "安和",
"StationNumber": "K21",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/awa.pdf"
}
]
},
{
"BetweenStation": "影野~窪川",
"Datas": [
{
"StationName": "六反地",
"StationNumber": "K24",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/rokutanji.pdf"
},
{
"StationName": "仁井田",
"StationNumber": "K25",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/niida.pdf"
}
]
},
{
"BetweenStation": "蔵本~府中",
"Datas": [
{
"StationName": "鮎喰",
"StationNumber": "B03",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/akui.pdf"
}
]
},
{
"BetweenStation": "石井~牛島",
"Datas": [
{
"StationName": "下浦",
"StationNumber": "B06",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/shimoura.pdf"
}
]
},
{
"BetweenStation": "牛島~鴨島",
"Datas": [
{
"StationName": "麻植塚",
"StationNumber": "B08",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/oezuka.pdf"
}
]
},
{
"BetweenStation": "鴨島~阿波川島",
"Datas": [
{
"StationName": "西麻植",
"StationNumber": "B10",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/nishi-oe.pdf"
}
]
},
{
"BetweenStation": "山瀬~川田",
"Datas": [
{
"StationName": "阿波山川",
"StationNumber": "B14",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/awa-yamakawa.pdf"
}
]
},
{
"BetweenStation": "貞光~江口",
"Datas": [
{
"StationName": "阿波半田",
"StationNumber": "B19",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/awa-handa.pdf"
}
]
},
{
"BetweenStation": "江口~阿波加茂",
"Datas": [
{
"StationName": "三加茂",
"StationNumber": "B21",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/mikamo.pdf"
}
]
},
{
"BetweenStation": "鳴門~池谷",
"Datas": [
{
"StationName": "撫養",
"StationNumber": "N09",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/muya.pdf"
},
{
"StationName": "金比羅前",
"StationNumber": "N08",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kompiramae.pdf"
},
{
"StationName": "教会前",
"StationNumber": "N07",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/kyokaimae.pdf"
},
{
"StationName": "立道",
"StationNumber": "N06",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/tatsumichi.pdf"
},
{
"StationName": "阿波大谷",
"StationNumber": "N05",
"StationTimeTable": "http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/awa-otani.pdf"
}
]
}
]