Skip to content

Commit

Permalink
feat: 역을 경유하는 버스 노선 데이터 바인딩 완료
Browse files Browse the repository at this point in the history
  • Loading branch information
leecr1215 committed Jun 7, 2023
1 parent ffb46ae commit 1d4a4cf
Showing 1 changed file with 34 additions and 2 deletions.
36 changes: 34 additions & 2 deletions src/views/passenger/StopBusListView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<div :class="['route-type', busType[bus.busRouteType]]"></div>
<span class="title">{{ bus.busRouteNm }}</span>
<span>{{ bus.stEnd }}행</span>
<span class="time">5분전</span>
<span class="time">{{ bus.msg }}</span>
</div>
</div>
</div>
Expand Down Expand Up @@ -47,10 +47,42 @@
buses.value = res.data.msgBody.itemList;
console.log(buses.value);
// 해당 버스의
// buses 돌면서 buses의 순번을 가져오기
buses.value.forEach(async (bus, idx) => {
const ord = await getOrd(bus);
console.log(ord);
// 가져온 순번으로 api 호출해서 특정 역의 특정 노선 도착 예정 정보 get
// buses에 추가하기
const prevData = await getPrevData(ord, bus.busRouteId);
console.log(prevData);
const prevArr = prevData.split('[');
if (prevArr.length > 1) {
// prevArr = [2분 7초후, 0번째 전] ]
buses.value[idx].msg = prevArr[1].slice(0, -1);
} else {
// prevArr = [곧 도착]
buses.value[idx].msg = prevArr[0];
}
});
})
.catch(err => console.log(err));
// 버스의 순번 가져오기
const getOrd = async bus => {
const url = `http://localhost:8080/api/pass/ord/${bus.busRouteId}/${arsId}`;
const data = await axios.get(url);
return data.data;
};
// 특정 정거장에서 특정 노선의 도착 예정 정보 가져오기
const getPrevData = async (ord, routeId, idx) => {
const url = `http://ws.bus.go.kr/api/rest/arrive/getArrInfoByRoute?serviceKey=${process.env.VUE_APP_ROUTE_SERVICE_KEY}&busRouteId=${routeId}&ord=${ord}&stId=${stId}&resultType=json`;
const data = await axios.get(url);
return data.data.msgBody.itemList[0].arrmsg1;
};
return {
buses,
busType,
Expand Down

0 comments on commit 1d4a4cf

Please sign in to comment.