Showing
1 changed file
with
81 additions
and
8 deletions
... | @@ -8,7 +8,19 @@ var YEAR = NOW.getFullYear() | ... | @@ -8,7 +8,19 @@ var YEAR = NOW.getFullYear() |
8 | var MONTH= NOW.getMonth()+1 | 8 | var MONTH= NOW.getMonth()+1 |
9 | var DATE= NOW.getDate(); | 9 | var DATE= NOW.getDate(); |
10 | var NOWDATE= YEAR.toString().padStart(4, '0') + MONTH.toString().padStart(2, '0') + DATE.toString().padStart(2, '0') | 10 | var NOWDATE= YEAR.toString().padStart(4, '0') + MONTH.toString().padStart(2, '0') + DATE.toString().padStart(2, '0') |
11 | -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` | 11 | + |
12 | + | ||
13 | +//var dic = {'대구': {'x': 90, 'y': 90}, '학교':{'x':62, 'y'}} | ||
14 | +/* | ||
15 | +var dic={} | ||
16 | +var [schoolx]='62' | ||
17 | +var [schooly]='120' | ||
18 | +대구 수성구 x 90\ | ||
19 | +대구 수성구 y 90 | ||
20 | +*/ | ||
21 | +//var dic = {'대구': {'x': 90, 'y': 90}, '학교':{'x':62,'y':120}} | ||
22 | +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` | ||
23 | +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` | ||
12 | 24 | ||
13 | 25 | ||
14 | const TOKEN = 'RbPAXRYWub0evg2yyi7oiHytZsZsE0JtbZgRYZNZDU1vjpJkOwGqwh+aKTYKVhVHh6LZOUVZLl84NQQlNWNbXR9hUhPEiLEK0cie4O3OlKUuEe/3wAsjPu7HbRi1zn9BsR3Qr4pcqmiIKP8HRUKvEwdB04t89/1O/w1cDnyilFU=' | 26 | const TOKEN = 'RbPAXRYWub0evg2yyi7oiHytZsZsE0JtbZgRYZNZDU1vjpJkOwGqwh+aKTYKVhVHh6LZOUVZLl84NQQlNWNbXR9hUhPEiLEK0cie4O3OlKUuEe/3wAsjPu7HbRi1zn9BsR3Qr4pcqmiIKP8HRUKvEwdB04t89/1O/w1cDnyilFU=' |
... | @@ -44,22 +56,29 @@ app.post('/hook', function (req, res) { | ... | @@ -44,22 +56,29 @@ app.post('/hook', function (req, res) { |
44 | 56 | ||
45 | 57 | ||
46 | rain(eventObj.replyToken, eventObj.message.text); | 58 | rain(eventObj.replyToken, eventObj.message.text); |
47 | - clothes(eventObj.replyToken, eventObj.message.text); | 59 | + //clothes(eventObj.replyToken, eventObj.message.text); |
48 | 60 | ||
49 | 61 | ||
50 | res.sendStatus(200); | 62 | res.sendStatus(200); |
51 | }); | 63 | }); |
52 | 64 | ||
53 | 65 | ||
54 | -// 비 말고도 날씨 정보 추가 | 66 | + |
55 | function rain (replyToken, message){ | 67 | function rain (replyToken, message){ |
56 | - if(message != '날씨') | 68 | + if(message != '대구' && message != '학교') |
57 | { | 69 | { |
58 | return | 70 | return |
59 | } | 71 | } |
72 | + | ||
73 | + if(message == '대구') | ||
74 | + { | ||
75 | + WEATHER_URL = WEATHER_URL_D | ||
76 | + }else if(message == '학교'){ | ||
77 | + WEATHER_URL = WEATHER_URL_S | ||
78 | + } | ||
60 | request.get( | 79 | request.get( |
61 | { | 80 | { |
62 | - url: WEATHER_URL, | 81 | + url:WEATHER_URL, |
63 | json:true | 82 | json:true |
64 | },(error, response, body) => { | 83 | },(error, response, body) => { |
65 | if(!error && response.statusCode == 200) { | 84 | if(!error && response.statusCode == 200) { |
... | @@ -73,6 +92,48 @@ function rain (replyToken, message){ | ... | @@ -73,6 +92,48 @@ function rain (replyToken, message){ |
73 | var rainMessage= "우산이 굳이 필요하지는 않습니다." | 92 | var rainMessage= "우산이 굳이 필요하지는 않습니다." |
74 | } | 93 | } |
75 | } | 94 | } |
95 | + if(item.category == 'WSD'){ | ||
96 | + if(item.fcstValue < 8 ){ | ||
97 | + var windmessage ="기분이 좋을 정도의 바람입니다." | ||
98 | + }else if(item.fcstValue>=8 && item.fcstVaule <14){ | ||
99 | + var windmessage =" 바람이 강한 편입니다." | ||
100 | + }else{ | ||
101 | + var windmessage ="바람이 매우 강합니다. 야외활동을 자제해주세요" | ||
102 | + } | ||
103 | + } | ||
104 | + if (item.category == 'REH'){ | ||
105 | + if(item.fcstValue < 30){ | ||
106 | + var watermessage = "너무 건조합니다." | ||
107 | + }else if(item.fcstValue<=70 && item.fcstValue >=40){ | ||
108 | + var watermessage="습도는 적당합니다." | ||
109 | + }else{ | ||
110 | + var watermessage =" 너무 습합니다." | ||
111 | + } | ||
112 | + } | ||
113 | + | ||
114 | + //for(var item of body.response.body.items.item) { | ||
115 | + if(item.category == 'TMX') { | ||
116 | + if(item.fcstValue>=28){ | ||
117 | + var clothesMessage = `날씨가 매우 덥습니다. 건강에 유의해주세요. | ||
118 | + 추천 옷: 민소매, 반팔, 반바지, 여름용 치마, 린넨 소재의 옷` | ||
119 | + }else if(23<=item.fcstValue && item.fcstValue<=27){ | ||
120 | + var clothesMessage = `날이 덥습니다. 가벼운 옷차림을 추천합니다. | ||
121 | + 추천 옷: 반팔, 얇은 셔츠, 반바지, 면바지 ` | ||
122 | + }else if(20<=item.fcstValue && item.fcstValue<=22){ | ||
123 | + var clothesMessage = `초여름/ 늦여름 날씨입니다. 일교차에 주의해주세요. 추천 옷: 블라우스, 얇은 긴팔 티, 면바지, 슬랙스, 반팔과 가디건` | ||
124 | + }else if(17<=item.fcstValue && item.fcstValue<=19){ | ||
125 | + var clothesMessage=`아직 조금은 쌀쌀합니다. 건강에 유의해주세요. 추천 옷: 얇은 가디건, 니트, 맨투맨, 후드, 긴 바지` | ||
126 | + }else if(12<=item.fcstValue && item.fcstValue<=16){ | ||
127 | + var clothesMessage=`날이 쌀쌀합니다. 추천 옷: 자켓, 가디건, 청자켓, 니트, 청바지` | ||
128 | + }else if(9<=item.fcstValue && item.fcstValue<=11){ | ||
129 | + var clothesMessage =`날이 아직 춥습니다. 따뜻한 옷이 좋습니다. 추천 옷: 트렌치코트, 야상, 점퍼, 기모바지` | ||
130 | + }else if(5<=item.fcstValue && item.fcstValue<=8){ | ||
131 | + var clothesMessage =` 날이 춥습니다. 따뜻하게 입어주세요. 추천 옷: 두꺼운 코트, 히트텍, 가죽 옷, 기모 소재의 옷` | ||
132 | + }else{ | ||
133 | + var clothesMessage= `날씨가 매우 춥습니다. 건강에 유의하세요 .추천 옷: 패딩, 두꺼운 코트, 누빔 옷, 기모 소재의 옷, 히트텍, 목도리, 장갑` | ||
134 | + } | ||
135 | + } | ||
136 | + //} | ||
76 | } | 137 | } |
77 | request.post( | 138 | request.post( |
78 | { | 139 | { |
... | @@ -85,7 +146,11 @@ function rain (replyToken, message){ | ... | @@ -85,7 +146,11 @@ function rain (replyToken, message){ |
85 | "messages":[ | 146 | "messages":[ |
86 | { | 147 | { |
87 | "type":"text", | 148 | "type":"text", |
88 | - "text":rainMessage | 149 | + "text":rainMessage+windmessage+watermessage |
150 | + }, | ||
151 | + { | ||
152 | + "type":"text", | ||
153 | + "text":clothesMessage | ||
89 | } | 154 | } |
90 | ] | 155 | ] |
91 | } | 156 | } |
... | @@ -96,11 +161,19 @@ function rain (replyToken, message){ | ... | @@ -96,11 +161,19 @@ function rain (replyToken, message){ |
96 | }); | 161 | }); |
97 | } | 162 | } |
98 | 163 | ||
164 | +/* | ||
99 | function clothes (replyToken, message){ | 165 | function clothes (replyToken, message){ |
100 | - if(message != '옷') | 166 | + if(message != '대구' && message != '학교') |
101 | { | 167 | { |
102 | return | 168 | return |
103 | } | 169 | } |
170 | + | ||
171 | + if(message == '대구'){ | ||
172 | + WEATHER_URL = WEATHER_URL_D | ||
173 | + }else if(message == '학교'){ | ||
174 | + WEATHER_URL = WEATHER_URL_S | ||
175 | + } | ||
176 | + | ||
104 | request.get( | 177 | request.get( |
105 | { | 178 | { |
106 | url: WEATHER_URL, | 179 | url: WEATHER_URL, |
... | @@ -153,7 +226,7 @@ function clothes (replyToken, message){ | ... | @@ -153,7 +226,7 @@ function clothes (replyToken, message){ |
153 | } | 226 | } |
154 | }); | 227 | }); |
155 | } | 228 | } |
156 | - | 229 | +*/ |
157 | 230 | ||
158 | 231 | ||
159 | 232 | ... | ... |
-
Please register or login to post a comment