Toggle navigation
Toggle navigation
This project
Loading...
Sign in
홍용민
/
BusTime
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
이의준
2021-06-08 04:08:02 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
2da88701d1207648339bc537093c5938b3e3ed35
2da88701
1 parent
735e04dc
response로부터 table 구현 및 작동테스트서버 임시파일 추가
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
145 additions
and
4 deletions
public/css/style.css
router/test_main.js
test_server.js
views/Index.html
public/css/style.css
View file @
2da8870
body
{
background-color
:
black
;
color
:
white
;
background-color
:
white
;
color
:
black
;
}
p
,
h2
{
position
:
relative
;
left
:
20px
;
}
\ No newline at end of file
...
...
router/test_main.js
0 → 100644
View file @
2da8870
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);
test_server.js
0 → 100644
View file @
2da8870
var
express
=
require
(
'express'
);
var
app
=
express
();
var
router
=
require
(
'./router/test_main'
)(
app
);
// router모듈인 main.js를 불러와서 app에 전달
//__dirname : 현재 실행중인 폴더 경로
app
.
set
(
'views'
,
__dirname
+
'/views'
);
//서버가 읽을 수 있도록 HTML 의 위치를 정의
app
.
set
(
'view engine'
,
'ejs'
);
//서버가 HTML 렌더링을 할 때, EJS 엔진을 사용하도록 설정
app
.
engine
(
'html'
,
require
(
'ejs'
).
renderFile
);
//서버가 HTML 렌더링을 할 때, EJS 엔진을 사용하도록 설정
var
server
=
app
.
listen
(
23023
,
function
()
{
var
host
=
server
.
address
().
address
var
port
=
server
.
address
().
port
console
.
log
(
"app listening at http://%s:%s"
,
host
,
port
)
})
app
.
use
(
express
.
static
(
__dirname
+
'/public'
));
views/Index.html
View file @
2da8870
...
...
@@ -19,7 +19,7 @@
<br><br>
<h2>
버스별 시간표 조회
</h2>
<script>
<
div
style=
"padding:0 0 0 20px;"
><
script>
var
date
=
new
Date
();
var
yyyy
=
date
.
getFullYear
();
var
mm
=
date
.
getMonth
()
+
1
;
...
...
@@ -28,7 +28,7 @@
document
.
write
(
yyyy
+
"년 "
+
mm
+
"월 "
+
dd
+
"일 오늘 운행하는 버스들 "
);
document
.
write
(
"( "
+
hh
+
"시 "
+
mm
+
"분 기준 )"
);
</script>
</script>
</div>
<ul>
<li><a
href=
"http://localhost:23023/timetable?busNum=5100"
>
5100
</a></li>
...
...
Please
register
or
login
to post a comment