Showing
3 changed files
with
40 additions
and
118 deletions
| ... | @@ -10,57 +10,7 @@ let ANIMAL_INFO_API_KEY = process.env.REACT_APP_API_KEY; | ... | @@ -10,57 +10,7 @@ let ANIMAL_INFO_API_KEY = process.env.REACT_APP_API_KEY; |
| 10 | let gu_select; | 10 | let gu_select; |
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | -//동물병원 | 13 | +// 사용자가 index 페이지에서 주소선택. 입력값받아오는 함수 |
| 14 | -// router.post('/hospital', function (req, res) { | ||
| 15 | -// //gu 받아오기 | ||
| 16 | -// var body = req.body; | ||
| 17 | -// var gu_select = body.user_gu; | ||
| 18 | -// var menu = '동물병원'; | ||
| 19 | -// // encoding for url | ||
| 20 | -// var menu_encode = urlencode(menu); | ||
| 21 | -// var gu_select_encode = urlencode(gu_select); | ||
| 22 | -// //api | ||
| 23 | -// let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=200&pageNo=1&keyword=${menu_encode}&where=${gu_select_encode}`; | ||
| 24 | -// request(pet_url, function (err, response, body) { | ||
| 25 | -// if (err) { | ||
| 26 | -// console.log(`err => ${err}`) | ||
| 27 | -// } | ||
| 28 | -// else { | ||
| 29 | -// if (res.statusCode == 200) { | ||
| 30 | -// var hospital_list = []; | ||
| 31 | -// var titles = ''; | ||
| 32 | -// var result = convert.xml2json(body, { compact: true, spaces: 4 }); | ||
| 33 | -// var petJson = JSON.parse(result); | ||
| 34 | -// var itemList = petJson.response.body.items; | ||
| 35 | -// var numRows = petJson.response.body.totalCount._text; //개수 | ||
| 36 | -// if (numRows == 1) { | ||
| 37 | -// // state 정상인 것만 추리기 | ||
| 38 | -// if (itemList.item.state._text == '정상') { | ||
| 39 | -// appliance_list.push(itemList.item); | ||
| 40 | -// } | ||
| 41 | -// } | ||
| 42 | -// else if (numRows == 0) { } | ||
| 43 | -// else { | ||
| 44 | -// for (i = 0; i < numRows; i++) { | ||
| 45 | -// // state 정상인 것만 추리기 | ||
| 46 | -// if (itemList.item[i].state._text == '정상') { | ||
| 47 | -// appliance_list.push(itemList.item[i]); | ||
| 48 | -// } | ||
| 49 | -// } | ||
| 50 | -// } | ||
| 51 | - | ||
| 52 | -// //테스트용 console.log | ||
| 53 | -// for (i = 0; i < hospital_list.length; i++) { | ||
| 54 | -// titles = titles + hospital_list[i].title._text + '\n'; | ||
| 55 | -// } | ||
| 56 | -// if (titles == '') { console.log('nothing'); } | ||
| 57 | -// else { console.log(titles); } | ||
| 58 | -// } | ||
| 59 | -// } | ||
| 60 | -// res.render('result', { category: 'hospital', titles: titles, hospital_list: hospital_list }); | ||
| 61 | -// }) | ||
| 62 | -// }); | ||
| 63 | -// 사용자가 index 페이지에서 주소를 입력하고 넘어오면 | ||
| 64 | router.post('/', function (req, res) { | 14 | router.post('/', function (req, res) { |
| 65 | var body = req.body; | 15 | var body = req.body; |
| 66 | gu_select = body.user_gu; | 16 | gu_select = body.user_gu; |
| ... | @@ -68,6 +18,7 @@ router.post('/', function (req, res) { | ... | @@ -68,6 +18,7 @@ router.post('/', function (req, res) { |
| 68 | 18 | ||
| 69 | }); | 19 | }); |
| 70 | 20 | ||
| 21 | +//동물병원 함수 | ||
| 71 | router.get('/hospital', function (req, res) { | 22 | router.get('/hospital', function (req, res) { |
| 72 | //api | 23 | //api |
| 73 | var gu_select_encode = urlencode(gu_select); | 24 | var gu_select_encode = urlencode(gu_select); |
| ... | @@ -104,65 +55,50 @@ router.get('/hospital', function (req, res) { | ... | @@ -104,65 +55,50 @@ router.get('/hospital', function (req, res) { |
| 104 | 55 | ||
| 105 | //동물약국 | 56 | //동물약국 |
| 106 | router.get('/medicine', function (req, res) { | 57 | router.get('/medicine', function (req, res) { |
| 107 | - //gu 받아오기 | 58 | + //api |
| 108 | - var body = req.body; | 59 | + var gu_select_encode = urlencode(gu_select); |
| 109 | - var gu_select = body.user_gu; | ||
| 110 | var menu = '동물약국'; | 60 | var menu = '동물약국'; |
| 111 | - // encoding for url | ||
| 112 | var menu_encode = urlencode(menu); | 61 | var menu_encode = urlencode(menu); |
| 113 | - var gu_select_encode = urlencode(gu_select); | 62 | + |
| 114 | - //api | 63 | + |
| 115 | - let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=200&pageNo=1&keyword=${menu_encode}&where=${gu_select_encode}`; | 64 | + let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=100&pageNo=1&keyword=${menu_encode}&where=${gu_select_encode}`; |
| 116 | request(pet_url, function (err, response, body) { | 65 | request(pet_url, function (err, response, body) { |
| 117 | if (err) { | 66 | if (err) { |
| 118 | console.log(`err => ${err}`) | 67 | console.log(`err => ${err}`) |
| 119 | } | 68 | } |
| 120 | else { | 69 | else { |
| 121 | if (res.statusCode == 200) { | 70 | if (res.statusCode == 200) { |
| 122 | - var medicine_list = []; | 71 | + let category_list = []; |
| 123 | - var titles = ''; | ||
| 124 | var result = convert.xml2json(body, { compact: true, spaces: 4 }); | 72 | var result = convert.xml2json(body, { compact: true, spaces: 4 }); |
| 125 | - var petJson = JSON.parse(result); | 73 | + var petJson = JSON.parse(result) |
| 126 | var itemList = petJson.response.body.items; | 74 | var itemList = petJson.response.body.items; |
| 127 | - var numRows = petJson.response.body.totalCount._text; //개수 | 75 | + var numRows = itemList.item.length; //개수 |
| 128 | - | 76 | + for (i = 0; i < numRows; i++) { |
| 129 | - if (numRows == 1) { | ||
| 130 | // state 정상인 것만 추리기 | 77 | // state 정상인 것만 추리기 |
| 131 | - if (itemList.item.state._text == '정상') { | 78 | + if (itemList.item[i].state._text == '정상') { |
| 132 | - appliance_list.push(itemList.item); | 79 | + category_list.push(itemList.item[i]); |
| 133 | - } | ||
| 134 | - } | ||
| 135 | - else if (numRows == 0) { } | ||
| 136 | - else { | ||
| 137 | - for (i = 0; i < numRows; i++) { | ||
| 138 | - // state 정상인 것만 추리기 | ||
| 139 | - if (itemList.item[i].state._text == '정상') { | ||
| 140 | - appliance_list.push(itemList.item[i]); | ||
| 141 | - } | ||
| 142 | } | 80 | } |
| 143 | } | 81 | } |
| 144 | - | ||
| 145 | //테스트용 console.log | 82 | //테스트용 console.log |
| 146 | - for (i = 0; i < medicine_list.length; i++) { | 83 | + var titles = ''; |
| 147 | - titles = titles + medicine_list[i].title._text + '\n'; | 84 | + for (i = 0; i < category_list.length; i++) { |
| 85 | + titles = titles + category_list[i].title._text + '\n'; | ||
| 148 | } | 86 | } |
| 149 | - if (titles == '') { console.log('nothing'); } | 87 | + console.log(titles); |
| 150 | - else { console.log(titles); } | 88 | + res.render('result', { category: 'medicine', titles: titles, category_list: category_list }); |
| 151 | } | 89 | } |
| 152 | } | 90 | } |
| 153 | - res.render('result', { category: 'medicine', titles: titles, medicine_list: medicine_list }); | ||
| 154 | }) | 91 | }) |
| 155 | }); | 92 | }); |
| 93 | + | ||
| 156 | //의료기기 | 94 | //의료기기 |
| 157 | router.get('/appliance', function (req, res) { | 95 | router.get('/appliance', function (req, res) { |
| 158 | - //gu 받아오기 | ||
| 159 | - var body = req.body; | ||
| 160 | - var gu_select = body.user_gu; | ||
| 161 | - var menu = "동물의료기기 판매 및 임대업체"; | ||
| 162 | - // encoding for url | ||
| 163 | - var menu_encode = urlencode(menu); | ||
| 164 | - var gu_select_encode = urlencode(gu_select); | ||
| 165 | //api | 96 | //api |
| 97 | + var gu_select_encode = urlencode(gu_select); | ||
| 98 | + var menu = '동물의료기기판매및임대업체'; | ||
| 99 | + var menu_encode = urlencode(menu); | ||
| 100 | + | ||
| 101 | + | ||
| 166 | let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=100&pageNo=1&keyword=${menu_encode}&where=${gu_select_encode}`; | 102 | let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=100&pageNo=1&keyword=${menu_encode}&where=${gu_select_encode}`; |
| 167 | request(pet_url, function (err, response, body) { | 103 | request(pet_url, function (err, response, body) { |
| 168 | if (err) { | 104 | if (err) { |
| ... | @@ -170,47 +106,33 @@ router.get('/appliance', function (req, res) { | ... | @@ -170,47 +106,33 @@ router.get('/appliance', function (req, res) { |
| 170 | } | 106 | } |
| 171 | else { | 107 | else { |
| 172 | if (res.statusCode == 200) { | 108 | if (res.statusCode == 200) { |
| 173 | - var appliance_list = []; | 109 | + let category_list = []; |
| 174 | - var titles = ''; | ||
| 175 | var result = convert.xml2json(body, { compact: true, spaces: 4 }); | 110 | var result = convert.xml2json(body, { compact: true, spaces: 4 }); |
| 176 | - var petJson = JSON.parse(result); | 111 | + var petJson = JSON.parse(result) |
| 177 | var itemList = petJson.response.body.items; | 112 | var itemList = petJson.response.body.items; |
| 178 | - var numRows = petJson.response.body.totalCount._text; //개수 | 113 | + var numRows = itemList.item.length; //개수 |
| 179 | - //------------------------------------------------- | 114 | + for (i = 0; i < numRows; i++) { |
| 180 | - if (numRows == 1) { | ||
| 181 | // state 정상인 것만 추리기 | 115 | // state 정상인 것만 추리기 |
| 182 | - if (itemList.item.state._text == '정상') { | 116 | + if (itemList.item[i].state._text == '정상') { |
| 183 | - appliance_list.push(itemList.item); | 117 | + category_list.push(itemList.item[i]); |
| 184 | - } | ||
| 185 | - } | ||
| 186 | - else if (numRows == 0) { } | ||
| 187 | - else { | ||
| 188 | - for (i = 0; i < numRows; i++) { | ||
| 189 | - // state 정상인 것만 추리기 | ||
| 190 | - if (itemList.item[i].state._text == '정상') { | ||
| 191 | - appliance_list.push(itemList.item[i]); | ||
| 192 | - } | ||
| 193 | } | 118 | } |
| 194 | } | 119 | } |
| 195 | - //----------------------------------------------- | ||
| 196 | - | ||
| 197 | //테스트용 console.log | 120 | //테스트용 console.log |
| 198 | - for (i = 0; i < appliance_list.length; i++) { | 121 | + var titles = ''; |
| 199 | - titles = titles + appliance_list[i].title._text + '\n'; | 122 | + for (i = 0; i < category_list.length; i++) { |
| 123 | + titles = titles + category_list[i].title._text + '\n'; | ||
| 200 | } | 124 | } |
| 201 | - if (titles == '') { console.log('nothing'); } | 125 | + console.log(titles); |
| 202 | - else { console.log(titles); } | 126 | + res.render('result', { category: 'appliance', titles: titles, category_list: category_list }); |
| 203 | - | ||
| 204 | } | 127 | } |
| 205 | } | 128 | } |
| 206 | - res.render('result', { category: 'appliance', titles: titles, appliance_list: appliance_list }); | ||
| 207 | }) | 129 | }) |
| 208 | }); | 130 | }); |
| 131 | + | ||
| 132 | + | ||
| 133 | + | ||
| 209 | //체육시설 | 134 | //체육시설 |
| 210 | router.post('/park', function (req, res) { | 135 | router.post('/park', function (req, res) { |
| 211 | - //gu 받아오기 | ||
| 212 | - var body = req.body; | ||
| 213 | - var gu_select = body.user_gu; | ||
| 214 | var menu = ["생활체육관", "학교체육시설", "풋살장", "축구장"]; | 136 | var menu = ["생활체육관", "학교체육시설", "풋살장", "축구장"]; |
| 215 | // encoding for url | 137 | // encoding for url |
| 216 | var menu_encode = []; | 138 | var menu_encode = []; | ... | ... |
-
Please register or login to post a comment