Merge branch 'master' of http://khuhub.khu.ac.kr/2020105677/BusTime
Showing
2 changed files
with
27 additions
and
12 deletions
| ... | @@ -8,6 +8,7 @@ require('dotenv').config(); | ... | @@ -8,6 +8,7 @@ require('dotenv').config(); |
| 8 | //console.log(BusArrivalUrl); | 8 | //console.log(BusArrivalUrl); |
| 9 | var routeID = ['200000112', '200000115', '234000016', '200000103']; | 9 | var routeID = ['200000112', '200000115', '234000016', '200000103']; |
| 10 | var Bus = []; | 10 | var Bus = []; |
| 11 | +var BusNum = []; | ||
| 11 | // request(BusArrivalUrl, (err, res, body) => { | 12 | // request(BusArrivalUrl, (err, res, body) => { |
| 12 | // var $ = cheerio.load(body, {decodeEntities: false}); | 13 | // var $ = cheerio.load(body, {decodeEntities: false}); |
| 13 | // $('busArrivalList').each(function(idx){ | 14 | // $('busArrivalList').each(function(idx){ |
| ... | @@ -41,6 +42,7 @@ function getBusNum(){ | ... | @@ -41,6 +42,7 @@ function getBusNum(){ |
| 41 | newBus.MaxTime = maxtime; | 42 | newBus.MaxTime = maxtime; |
| 42 | //console.log(newBus); | 43 | //console.log(newBus); |
| 43 | Bus.push(newBus); | 44 | Bus.push(newBus); |
| 45 | + BusNum.push(num); | ||
| 44 | //console.log(Bus); | 46 | //console.log(Bus); |
| 45 | }) | 47 | }) |
| 46 | }) | 48 | }) |
| ... | @@ -51,9 +53,19 @@ for(var i=0; i<routeID.length; i++){ | ... | @@ -51,9 +53,19 @@ for(var i=0; i<routeID.length; i++){ |
| 51 | const GateBusUrl = bus_url + '?servicekey=' + process.env.key + '&stationId=' + gateStationID; //국제캠 정문 정류장 | 53 | const GateBusUrl = bus_url + '?servicekey=' + process.env.key + '&stationId=' + gateStationID; //국제캠 정문 정류장 |
| 52 | let date = new Date(); | 54 | let date = new Date(); |
| 53 | let predictTime = ['-1', '-1', '-1', '-1']; | 55 | let predictTime = ['-1', '-1', '-1', '-1']; |
| 54 | -let body = new Object(); | 56 | + |
| 57 | +module.exports.data = []; | ||
| 58 | + | ||
| 55 | function predict(){ | 59 | function predict(){ |
| 56 | - console.log(GateBusUrl); | 60 | + //console.log(GateBusUrl); |
| 61 | + if(module.exports.data.length == 0){ | ||
| 62 | + for(var i=0; i<BusNum.length; i++){ | ||
| 63 | + var info = new Object(); | ||
| 64 | + info.BusNum = BusNum[i]; | ||
| 65 | + | ||
| 66 | + module.exports.data.push(info); | ||
| 67 | + } | ||
| 68 | + } | ||
| 57 | request(GateBusUrl, (err, res, body) => { | 69 | request(GateBusUrl, (err, res, body) => { |
| 58 | var $ = cheerio.load(body, {decodeEntities: false}); | 70 | var $ = cheerio.load(body, {decodeEntities: false}); |
| 59 | $('busArrivalList').each(function(idx){ | 71 | $('busArrivalList').each(function(idx){ |
| ... | @@ -61,6 +73,7 @@ function predict(){ | ... | @@ -61,6 +73,7 @@ function predict(){ |
| 61 | var index = Bus.findIndex(function(e, idx){ return e.routeId == route;}); | 73 | var index = Bus.findIndex(function(e, idx){ return e.routeId == route;}); |
| 62 | if(index > -1){ | 74 | if(index > -1){ |
| 63 | //var num = $(this).find('plateNo1').text(); // 버스 차량번호 ex) 70사 1290 | 75 | //var num = $(this).find('plateNo1').text(); // 버스 차량번호 ex) 70사 1290 |
| 76 | + console.log(Bus[index].BusNum); | ||
| 64 | var time = $(this).find('predictTime1').text(); // 버스 예상 도착시간 | 77 | var time = $(this).find('predictTime1').text(); // 버스 예상 도착시간 |
| 65 | var predictHour1 = date.getHours(); | 78 | var predictHour1 = date.getHours(); |
| 66 | var predictMinute1 = date.getMinutes() + parseInt(Bus[index].MinTime) - (3 - parseInt(time)); // 사색의 광장 -> 경희대학교 3분정도 소요 | 79 | var predictMinute1 = date.getMinutes() + parseInt(Bus[index].MinTime) - (3 - parseInt(time)); // 사색의 광장 -> 경희대학교 3분정도 소요 |
| ... | @@ -89,14 +102,15 @@ function predict(){ | ... | @@ -89,14 +102,15 @@ function predict(){ |
| 89 | 102 | ||
| 90 | 103 | ||
| 91 | //controller에 데이터 전송 | 104 | //controller에 데이터 전송 |
| 92 | - module.exports.data = {}; | 105 | + |
| 93 | - module.exports.data.remainTime = gapHour + "시간" + gapMin + "분 이상"; | 106 | + var busIndex = module.exports.data.findIndex(function(e, idx){ return e.BusNum == Bus[index].BusNum;}); |
| 94 | - module.exports.data.ETD_min_H = predictTime[0]; | 107 | + console.log(busIndex); |
| 95 | - module.exports.data.ETD_min_M = predictTime[1]; | ||
| 96 | - module.exports.data.ETD_max_H = predictTime[2]; | ||
| 97 | - module.exports.data.ETD_max_M = predictTime[3]; | ||
| 98 | 108 | ||
| 99 | - | 109 | + module.exports.data[busIndex]["remainTime"] = gapHour + "시간" + gapMin + "분 이상"; |
| 110 | + module.exports.data[busIndex]["ETD_min_H"] = predictTime[0]; | ||
| 111 | + module.exports.data[busIndex]["ETD_min_M"] = predictTime[1]; | ||
| 112 | + module.exports.data[busIndex]["ETD_max_H"] = predictTime[2]; | ||
| 113 | + module.exports.data[busIndex]["ETD_max_M"] = predictTime[3]; | ||
| 100 | } | 114 | } |
| 101 | }) | 115 | }) |
| 102 | }) | 116 | }) |
| ... | @@ -107,4 +121,4 @@ function predict(){ | ... | @@ -107,4 +121,4 @@ function predict(){ |
| 107 | function start(){ | 121 | function start(){ |
| 108 | setInterval(predict, 60000); | 122 | setInterval(predict, 60000); |
| 109 | } | 123 | } |
| 110 | -setTimeout(start, 20000); | 124 | +setTimeout(start, 10000); | ... | ... |
| ... | @@ -13,8 +13,9 @@ exports.mainView = function(req, res) { | ... | @@ -13,8 +13,9 @@ exports.mainView = function(req, res) { |
| 13 | }//main 화면 | 13 | }//main 화면 |
| 14 | 14 | ||
| 15 | exports.timeTable = function(req, res) { | 15 | exports.timeTable = function(req, res) { |
| 16 | - res.render("ejstest.ejs",{busNum:req.query.busNum, remainTime: Businfo.data.remainTime, ETD_min_H: Businfo.data.ETD_min_H, | 16 | + var index = Businfo.data.findIndex(function(e, idx){ return e.BusNum == req.query.busNum;}); |
| 17 | - ETD_min_m: Businfo.data.ETD_max_m, ETD_max_H: Businfo.data.ETD_max_H, ETD_max_m: Businfo.data.ETD_max_m }); | 17 | + res.render("timetable.ejs",{busNum:req.query.busNum, remainTime: Businfo.data[index].remainTime, ETD_min_H: Businfo.data[index].ETD_min_H, |
| 18 | + ETD_min_m: Businfo.data[index].ETD_min_M, ETD_max_H: Businfo.data[index].ETD_max_H, ETD_max_m: Businfo.data[index].ETD_max_M }); | ||
| 18 | } //timeTable 화면 ejs 변수 렌더링 | 19 | } //timeTable 화면 ejs 변수 렌더링 |
| 19 | 20 | ||
| 20 | 21 | ... | ... |
-
Please register or login to post a comment