Ubuntu

날씨추가, 지역추가

......@@ -8,7 +8,19 @@ var YEAR = NOW.getFullYear()
var MONTH= NOW.getMonth()+1
var DATE= NOW.getDate();
var NOWDATE= YEAR.toString().padStart(4, '0') + MONTH.toString().padStart(2, '0') + DATE.toString().padStart(2, '0')
const WEATHER_URL=`http://apis.data.go.kr/1360000/VilageFcstInfoService/getVilageFcst?serviceKey=StHx15%2FPZFKIJvR5AtCu8uyowAtnEYHpAXR%2B5XYYN6OWDt%2BCz15z%2Fxn%2FDiV%2FLN9%2BY5YSPZUPUnCq982CiBupmw%3D%3D&numOfRows=1000&pageNo=1&base_date=${NOWDATE}&base_time=0230&nx=55&ny=127&dataType=JSON`
//var dic = {'대구': {'x': 90, 'y': 90}, '학교':{'x':62, 'y'}}
/*
var dic={}
var [schoolx]='62'
var [schooly]='120'
대구 수성구 x 90\
대구 수성구 y 90
*/
//var dic = {'대구': {'x': 90, 'y': 90}, '학교':{'x':62,'y':120}}
const WEATHER_URL_D=`http://apis.data.go.kr/1360000/VilageFcstInfoService/getVilageFcst?serviceKey=StHx15%2FPZFKIJvR5AtCu8uyowAtnEYHpAXR%2B5XYYN6OWDt%2BCz15z%2Fxn%2FDiV%2FLN9%2BY5YSPZUPUnCq982CiBupmw%3D%3D&numOfRows=1000&pageNo=1&base_date=${NOWDATE}&base_time=0230&nx=90&ny=90&dataType=JSON`
const WEATHER_URL_S=`http://apis.data.go.kr/1360000/VilageFcstInfoService/getVilageFcst?serviceKey=StHx15%2FPZFKIJvR5AtCu8uyowAtnEYHpAXR%2B5XYYN6OWDt%2BCz15z%2Fxn%2FDiV%2FLN9%2BY5YSPZUPUnCq982CiBupmw%3D%3D&numOfRows=1000&pageNo=1&base_date=${NOWDATE}&base_time=0230&nx=62&ny=120&dataType=JSON`
const TOKEN = 'RbPAXRYWub0evg2yyi7oiHytZsZsE0JtbZgRYZNZDU1vjpJkOwGqwh+aKTYKVhVHh6LZOUVZLl84NQQlNWNbXR9hUhPEiLEK0cie4O3OlKUuEe/3wAsjPu7HbRi1zn9BsR3Qr4pcqmiIKP8HRUKvEwdB04t89/1O/w1cDnyilFU='
......@@ -44,22 +56,29 @@ app.post('/hook', function (req, res) {
rain(eventObj.replyToken, eventObj.message.text);
clothes(eventObj.replyToken, eventObj.message.text);
//clothes(eventObj.replyToken, eventObj.message.text);
res.sendStatus(200);
});
// 비 말고도 날씨 정보 추가
function rain (replyToken, message){
if(message != '날씨')
if(message != '대구' && message != '학교')
{
return
}
if(message == '대구')
{
WEATHER_URL = WEATHER_URL_D
}else if(message == '학교'){
WEATHER_URL = WEATHER_URL_S
}
request.get(
{
url: WEATHER_URL,
url:WEATHER_URL,
json:true
},(error, response, body) => {
if(!error && response.statusCode == 200) {
......@@ -73,6 +92,48 @@ function rain (replyToken, message){
var rainMessage= "우산이 굳이 필요하지는 않습니다."
}
}
if(item.category == 'WSD'){
if(item.fcstValue < 8 ){
var windmessage ="기분이 좋을 정도의 바람입니다."
}else if(item.fcstValue>=8 && item.fcstVaule <14){
var windmessage =" 바람이 강한 편입니다."
}else{
var windmessage ="바람이 매우 강합니다. 야외활동을 자제해주세요"
}
}
if (item.category == 'REH'){
if(item.fcstValue < 30){
var watermessage = "너무 건조합니다."
}else if(item.fcstValue<=70 && item.fcstValue >=40){
var watermessage="습도는 적당합니다."
}else{
var watermessage =" 너무 습합니다."
}
}
//for(var item of body.response.body.items.item) {
if(item.category == 'TMX') {
if(item.fcstValue>=28){
var clothesMessage = `날씨가 매우 덥습니다. 건강에 유의해주세요.
추천 옷: 민소매, 반팔, 반바지, 여름용 치마, 린넨 소재의 옷`
}else if(23<=item.fcstValue && item.fcstValue<=27){
var clothesMessage = `날이 덥습니다. 가벼운 옷차림을 추천합니다.
추천 옷: 반팔, 얇은 셔츠, 반바지, 면바지 `
}else if(20<=item.fcstValue && item.fcstValue<=22){
var clothesMessage = `초여름/ 늦여름 날씨입니다. 일교차에 주의해주세요. 추천 옷: 블라우스, 얇은 긴팔 티, 면바지, 슬랙스, 반팔과 가디건`
}else if(17<=item.fcstValue && item.fcstValue<=19){
var clothesMessage=`아직 조금은 쌀쌀합니다. 건강에 유의해주세요. 추천 옷: 얇은 가디건, 니트, 맨투맨, 후드, 긴 바지`
}else if(12<=item.fcstValue && item.fcstValue<=16){
var clothesMessage=`날이 쌀쌀합니다. 추천 옷: 자켓, 가디건, 청자켓, 니트, 청바지`
}else if(9<=item.fcstValue && item.fcstValue<=11){
var clothesMessage =`날이 아직 춥습니다. 따뜻한 옷이 좋습니다. 추천 옷: 트렌치코트, 야상, 점퍼, 기모바지`
}else if(5<=item.fcstValue && item.fcstValue<=8){
var clothesMessage =` 날이 춥습니다. 따뜻하게 입어주세요. 추천 옷: 두꺼운 코트, 히트텍, 가죽 옷, 기모 소재의 옷`
}else{
var clothesMessage= `날씨가 매우 춥습니다. 건강에 유의하세요 .추천 옷: 패딩, 두꺼운 코트, 누빔 옷, 기모 소재의 옷, 히트텍, 목도리, 장갑`
}
}
//}
}
request.post(
{
......@@ -85,8 +146,12 @@ function rain (replyToken, message){
"messages":[
{
"type":"text",
"text":rainMessage
}
"text":rainMessage+windmessage+watermessage
},
{
"type":"text",
"text":clothesMessage
}
]
}
},(error, response, body) => {
......@@ -96,11 +161,19 @@ function rain (replyToken, message){
});
}
/*
function clothes (replyToken, message){
if(message != '')
if(message != '대구' && message != '학교')
{
return
}
if(message == '대구'){
WEATHER_URL = WEATHER_URL_D
}else if(message == '학교'){
WEATHER_URL = WEATHER_URL_S
}
request.get(
{
url: WEATHER_URL,
......@@ -112,10 +185,10 @@ function clothes (replyToken, message){
if(item.category == 'TMX') {
if(item.fcstValue>=28){
var clothesMessage = `날씨가 매우 덥습니다. 건강에 유의해주세요.
추천 옷: 민소매, 반팔, 반바지, 여름용 치마, 린넨 소재의 옷`
추천 옷: 민소매, 반팔, 반바지, 여름용 치마, 린넨 소재의 옷`
}else if(23<=item.fcstValue && item.fcstValue<=27){
var clothesMessage = `날이 덥습니다. 가벼운 옷차림을 추천합니다.
추천 옷: 반팔, 얇은 셔츠, 반바지, 면바지 `
추천 옷: 반팔, 얇은 셔츠, 반바지, 면바지 `
}else if(20<=item.fcstValue && item.fcstValue<=22){
var clothesMessage = `초여름/ 늦여름 날씨입니다. 일교차에 주의해주세요. 추천 옷: 블라우스, 얇은 긴팔 티, 면바지, 슬랙스, 반팔과 가디건`
}else if(17<=item.fcstValue && item.fcstValue<=19){
......@@ -153,7 +226,7 @@ function clothes (replyToken, message){
}
});
}
*/
......