test_main.js
3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
var url = require('url');
var request = require('request');
var qs = require('querystring');
var fs = require('fs');
const { METHODS } = require('http');
function makeTimetable(resFromServer){ // Timetable 표를 만드는 함수
var busArrivalTime =
`<table border="3" width="400">
<th> Index</th>
<th> 출발 예정시간</th>
<th> 남은 시간</th>
`;
var lenRes = resFromServer.length;
for (index = 0; index < lenRes; index+=2){
let m = resFromServer[index];
let M = resFromServer[index+1];
busArrivalTime += `
<tr align="center">
<td>${(index+2)/2} 번째 버스</td>
<td>${m} ~ ${M}</td>
</tr>`;
}
busArrivalTime += `
</table>`;
return busArrivalTime;
};
function makeTTWebpage(busNum, busArrivalTime){ // Timetable 표를 바탕으로 TT 페이지를 만드는 함수
var templateTimeTable =
`
<!doctype html>
<html>
<head>
<title>Time Table</title>
<meta charset="utf-8">
<style type="text/css">
a { text-decoration:none }
</style>
</head>
<body>
<h1><a href="/"><p style="text-align:center;">BTT</p></a></h1>
<br> <div style="padding:0 0 0 20px;">
<h2>${busNum} BUS Time Table</h2>
</div>
<div style="padding:0 0 0 20px;">
${busArrivalTime}
</div>
<br>
<br>
<p> <div style="padding:0 0 0 20px;">
버스의 평균 배차시간을 기준으로 최소 출발시간과 최대 출발시간을 제공합니다.
</div> </p>
<div style="padding:0 0 0 20px;">
<script>
var date = new Date();
var yyyy = date.getFullYear();
var mm = date.getMonth() + 1;
var dd = date.getDate();
var hh = date.getHours();
document.write(yyyy+"년 "+mm+"월 "+dd+"일 ");
document.write(hh+"시 "+mm+"분 기준");
</script>
</div>
</body>
</html>
`;
return templateTimeTable;
};
module.exports = function(app)
{
app.get('/', function (req, res) {
res.render('Index.html');
});
app.get('/timetable', function (req, res){ // bus list의 특정 버스를 클릭하면, server에 요청
var _url = req.url;
var queryData = url.parse(_url, true).query;
var busNum = queryData.busNum;
// 서버로부터 응답받는 배열의 길이는 항상 짝수여야 한다. (버스 1대당 출발예정 최소 + 최대시간 1개씩)
var resFromServer = ['1:30', '1:45', '2:00', '2:15', '2:30', '2:45'];
var busArrivalTime = makeTimetable(resFromServer);
// server 완성되면 해당 IP로 request
// request.post(
// {
// url: 'http://34.206.171.225:23023/reqBusInfo',
// body: {
// 'busNum': busNum,
// 'testVariable': 'test'
// },
// json: true
// }, function (error, response, body){
// response.json(body); // 이 부분을 resFromServer.push(body) 이런식으로 하면?
// }
// );
var templateTimeTable = makeTTWebpage(busNum, busArrivalTime);
res.send(templateTimeTable);
});
}
// 목록 출력 기능 구현
// var busArrivalTime = `<ul style="list-style-type:circle">`;
// for (index = 0; index < lenRes; index++){
// let t = resFromServer[index];
// busArrivalTime += `
// <li>${t}</li>`;
// }
// busArrivalTime += `
// </ul>`;
// console.log(busArrivalTime);