hyunjong

코드 정리

...@@ -47,7 +47,6 @@ var mytoons = require('./routes/mytoons'); ...@@ -47,7 +47,6 @@ var mytoons = require('./routes/mytoons');
47 var yourtoons =require('./routes/yourtoons'); 47 var yourtoons =require('./routes/yourtoons');
48 var setting = require('./routes/setting'); 48 var setting = require('./routes/setting');
49 49
50 -
51 // 최초 로그인 성공시 (Strategy 성공시) 단 한번만 호출 50 // 최초 로그인 성공시 (Strategy 성공시) 단 한번만 호출
52 passport.serializeUser(function(user, done) { 51 passport.serializeUser(function(user, done) {
53 console.log('serialized'); 52 console.log('serialized');
......
...@@ -152,6 +152,8 @@ function getLatestToon(titleid, day ,cb) { ...@@ -152,6 +152,8 @@ function getLatestToon(titleid, day ,cb) {
152 152
153 } 153 }
154 154
155 +var daumCount = 0;
156 +
155 //_day요일의 다음웹툰 불러오기 157 //_day요일의 다음웹툰 불러오기
156 function getDaumToons(_day) { 158 function getDaumToons(_day) {
157 159
...@@ -165,10 +167,13 @@ function getDaumToons(_day) { ...@@ -165,10 +167,13 @@ function getDaumToons(_day) {
165 var data = JSON.parse(body); 167 var data = JSON.parse(body);
166 var list = data["data"]; 168 var list = data["data"];
167 169
168 - list.forEach(function (item, idx) { 170 + if(err) {
171 + console.log("다음웹툰 DB 에러 : " + err);
172 + } else {
173 + list.forEach(function (item, idx) {
169 174
170 - var webtoon_link = 'http://webtoon.daum.net/webtoon/view/' + item.nickname.toString(); 175 + var webtoon_link = 'http://webtoon.daum.net/webtoon/view/' + item.nickname.toString();
171 - var webtoon = { 176 + var webtoon = {
172 toon_index : item.id, 177 toon_index : item.id,
173 name : item.title, 178 name : item.title,
174 thum_link : item.pcThumbnailImage.url, 179 thum_link : item.pcThumbnailImage.url,
...@@ -176,10 +181,11 @@ function getDaumToons(_day) { ...@@ -176,10 +181,11 @@ function getDaumToons(_day) {
176 week : day_name, 181 week : day_name,
177 site : site, 182 site : site,
178 latest : 0 183 latest : 0
179 - }; 184 + };
180 - 185 + daumCount++;
181 - allWebtoonList.push(webtoon); 186 + allWebtoonList.push(webtoon);
182 - }); 187 + });
188 + }
183 }); 189 });
184 } 190 }
185 191
...@@ -187,6 +193,9 @@ function getDaumToons(_day) { ...@@ -187,6 +193,9 @@ function getDaumToons(_day) {
187 function getNaverToons() { 193 function getNaverToons() {
188 194
189 var allWeeklyToonsUrl = "http://comic.naver.com/webtoon/weekday.nhn"; 195 var allWeeklyToonsUrl = "http://comic.naver.com/webtoon/weekday.nhn";
196 + // 네이버 웹툰 개수
197 + var naverCount = 0;
198 + var webtoonCount = 0;
190 199
191 request(allWeeklyToonsUrl,function (err, res, html) { 200 request(allWeeklyToonsUrl,function (err, res, html) {
192 if(!err){ 201 if(!err){
...@@ -209,54 +218,7 @@ function getNaverToons() { ...@@ -209,54 +218,7 @@ function getNaverToons() {
209 site : site, 218 site : site,
210 latest : 0 219 latest : 0
211 }; 220 };
212 - 221 + naverCount++;
213 - allWebtoonList.push(webtoon);
214 - });
215 -
216 - p.then(function() {
217 - i = 0;
218 - allWebtoonList.forEach(function (webtoon) {
219 - var sql= "INSERT INTO `toon` (toon_index, name, thum_link, webtoon_link, week, site, latest) VALUES(?) ON DUPLICATE KEY UPDATE latest=latest";
220 - var values=[webtoon.toon_index, webtoon.name, webtoon.thum_link, webtoon.webtoon_link,webtoon.week, webtoon.site, webtoon.latest];
221 -
222 - connection.query(sql,[values],function(err,result){
223 - if (err) {
224 - console.log("웹툰 DB 에러 : " + err);
225 - } else {
226 - console.log("웹툰 DB처리 완료!");
227 - }
228 - });
229 - })
230 - });
231 - }
232 - });
233 -}
234 -
235 -// 구현중
236 -function getTomicsToons(){
237 - var allWeeklyToonsUrl = "https://www.lezhin.com/ko/scheduled";
238 -
239 - request(allWeeklyToonsUrl,function (err, res, html) {
240 - if(!err){
241 - var $ = cheerio.load(html);
242 - var p = Promise.resolve();
243 - var eachs = $(".thumb").each(function (i) {
244 - var week = $(this).parent().parent().prev().attr('class');
245 - var webtoon_link = "https://www.lezhin.com/ko" + $(this).children().first().attr('href');
246 - var thumb_link = $(this).children().first().children().first().attr('src');
247 - var name = $(this).next().text();
248 - var titleid = webtoon_link.split('?')[1].split('&')[0].split('=')[1];
249 - var site = 'naver';
250 - var webtoon= {
251 - toon_index: titleid,
252 - name : name,
253 - thum_link : thumb_link,
254 - webtoon_link : webtoon_link,
255 - week : week,
256 - site : site,
257 - latest : 0
258 - };
259 -
260 allWebtoonList.push(webtoon); 222 allWebtoonList.push(webtoon);
261 }); 223 });
262 224
...@@ -267,19 +229,21 @@ function getTomicsToons(){ ...@@ -267,19 +229,21 @@ function getTomicsToons(){
267 var values=[webtoon.toon_index, webtoon.name, webtoon.thum_link, webtoon.webtoon_link,webtoon.week, webtoon.site, webtoon.latest]; 229 var values=[webtoon.toon_index, webtoon.name, webtoon.thum_link, webtoon.webtoon_link,webtoon.week, webtoon.site, webtoon.latest];
268 230
269 connection.query(sql,[values],function(err,result){ 231 connection.query(sql,[values],function(err,result){
270 - if (err) { 232 + if(err) {
271 - console.log("웹툰 DB 에러 : " + err); 233 + console.log("웹툰 DB 에러 : " + err);
272 } else { 234 } else {
273 - console.log("웹툰 DB처리 완료!"); 235 + webtoonCount++;
236 + console.log(`웹툰 ${webtoonCount}개 DB처리 완료!`);
274 } 237 }
275 }); 238 });
276 }) 239 })
277 }); 240 });
278 } 241 }
242 + console.log(`다음웹툰 ${daumCount}개, 네이버웹툰 ${naverCount}개`)
279 }); 243 });
280 } 244 }
281 245
282 -// 모든 웹을 담고있는 배열 246 +// 모든 웹을 담고있는 배열
283 allWebtoons = new Array(); 247 allWebtoons = new Array();
284 248
285 // 설명 249 // 설명
...@@ -303,8 +267,6 @@ function getAllToons() { ...@@ -303,8 +267,6 @@ function getAllToons() {
303 getDaumToons('sun'); 267 getDaumToons('sun');
304 //네이버 웹툰 268 //네이버 웹툰
305 getNaverToons(); 269 getNaverToons();
306 - //투믹스 웹툰
307 - getTomicsToons();
308 270
309 allWebtoons = allWebtoonList; 271 allWebtoons = allWebtoonList;
310 }; 272 };
......
...@@ -2,42 +2,40 @@ var express = require('express'); ...@@ -2,42 +2,40 @@ var express = require('express');
2 var async = require('async'); 2 var async = require('async');
3 var router = express.Router(); 3 var router = express.Router();
4 4
5 -function getMyToons(id,cb){ 5 +function getMyToons(id,cb) {
6 - //id 값을 가진 user가 저장한 웹툰들 가져오기 6 + //id 값을 가진 user가 저장한 웹툰들 가져오기
7 - var sqlquery = "SELECT t.toon_index, t.name, t.thum_link, t.webtoon_link, t.week, t.site FROM user u, user_toon_relation ur, toon t WHERE u.id = '"+id+"' && u.id=ur.user_id && t.toon_index=ur.toon_index;"; 7 + var sqlquery = "SELECT t.toon_index, t.name, t.thum_link, t.webtoon_link, t.week, t.site FROM user u, user_toon_relation ur, toon t WHERE u.id = '"+id+"' && u.id=ur.user_id && t.toon_index=ur.toon_index;";
8 - var mylist = new Array(); 8 + var mylist = new Array();
9 - connection.query(sqlquery,id,function(err,rows,result){ 9 + connection.query(sqlquery,id,function(err,rows,result) {
10 - if(!err){ 10 + if(!err) {
11 - mylist=rows; 11 + mylist=rows;
12 - cb(mylist); 12 + cb(mylist);
13 - console.log(mylist); 13 + console.log(mylist);
14 - }else{ 14 + } else {
15 - console.log("내 웹툰 리스트 가져오는데 실패했습니다!"); 15 + console.log("내 웹툰 리스트 가져오는데 실패했습니다!");
16 - //throw err; 16 + //throw err;
17 - } 17 + }
18 - }); 18 + });
19 } 19 }
20 20
21 /* GET home page. */ 21 /* GET home page. */
22 router.get('/', function(req, res, next) { 22 router.get('/', function(req, res, next) {
23 - if(!req.isAuthenticated()){ 23 + if(!req.isAuthenticated()) {
24 - res.redirect('/'); 24 + res.redirect('/');
25 - }else{ 25 + } else {
26 - async.series( 26 + async.series([
27 - [ 27 + function(callback){
28 - function(callback){ 28 + getMyToons(req.user.user_id, function (mytoon_list) {
29 - getMyToons(req.user.user_id, function (mytoon_list) { 29 + callback(null,mytoon_list);
30 - callback(null,mytoon_list); 30 + });
31 - }); 31 + }],
32 - } 32 + function(err, results){
33 - ], 33 + res.render('mytoons', {
34 - function(err, results){ 34 + mytoons: results[0]
35 - res.render('mytoons', { 35 + });
36 - mytoons: results[0] 36 + }
37 - }); 37 + );
38 - } 38 + }
39 - );
40 - }
41 }); 39 });
42 40
43 module.exports = router; 41 module.exports = router;
......
...@@ -2,70 +2,69 @@ var express = require('express'); ...@@ -2,70 +2,69 @@ var express = require('express');
2 var router = express.Router(); 2 var router = express.Router();
3 3
4 function addMyToons(id,index,cb){ 4 function addMyToons(id,index,cb){
5 - connection.query("INSERT INTO user_toon_relation SET ?;", {user_id : id,toon_index : index},function (err) { 5 + connection.query("INSERT INTO user_toon_relation SET ?;", {user_id : id,toon_index : index},function (err) {
6 - 6 + if(err) {
7 - if(err) { 7 + throw err;
8 - throw err; 8 + console.log("내 웹툰 추가 중 에러!")
9 - console.log("내 웹툰 추가 중 에러!") 9 + } else {
10 - } else{ 10 + alert("추가되었습니다.")
11 - // alert("추가되었습니다.") 11 + cb();
12 - cb(); 12 + }
13 - } 13 + });
14 - });
15 } 14 }
16 15
17 //내툰 수정하기 16 //내툰 수정하기
18 -router.post('/toggle_toon',function(req,res,next){ 17 +router.post('/toggle_toon',function(req,res,next) {
19 - var index = req.body.toon_index; 18 + var index = req.body.toon_index;
20 - var id = req.user.user_id; 19 + var id = req.user.user_id;
21 - connection.query("SELECT COUNT(*) FROM user_toon_relation WHERE user_id='"+id+"' && toon_index='"+index+"'", [id,index], function (err, rows,result) { 20 + connection.query("SELECT COUNT(*) FROM user_toon_relation WHERE user_id='"+id+"' && toon_index='"+index+"'", [id,index], function (err, rows,result) {
22 - if(err) { 21 + if(err) {
23 - console.log("내 웹툰 등록 중 에러!"); 22 + console.log("내 웹툰 등록 중 에러!");
24 - } else { 23 + } else {
25 - var count = rows[0]["COUNT(*)"]; 24 + var count = rows[0]["COUNT(*)"];
26 - if(count>0) {//이미 등록되어 있는 것이라면, 25 + if(count > 0) { //이미 등록되어 있는 것이라면,
27 - connection.query("DELETE FROM user_toon_relation WHERE user_id='"+id+"' && toon_index='"+index+"';", [id, index],function (err, rows, result) { 26 + connection.query("DELETE FROM user_toon_relation WHERE user_id='"+id+"' && toon_index='"+index+"';", [id, index],function (err, rows, result) {
28 - if(err) { 27 + if(err) {
29 - console.log("내 웹툰 제거중 에러!"); 28 + console.log("내 웹툰 제거중 에러!");
30 - throw err; 29 + throw err;
31 - } else { 30 + } else {
32 - //alert("제거되었습니다.") 31 + alert("제거되었습니다.")
33 - res.redirect('/setting'); 32 + res.redirect('/setting');
34 - } 33 + }
35 - }); 34 + });
36 - } else { 35 + } else {
37 - addMyToons(id,index,function(){ 36 + addMyToons(id,index,function() {
38 - res.redirect('/setting'); 37 + res.redirect('/setting');
39 - }); 38 + });
40 - } 39 + }
41 - } 40 + }
42 - }); 41 + });
43 }); 42 });
44 43
45 // 44 //
46 function getMyToons(id,cb){ 45 function getMyToons(id,cb){
47 - //mysql5.7 syntax에 맞게 수정 => 로그인한 유저의 46 + //mysql5.7 syntax에 맞게 수정 => 로그인한 유저의
48 - var sqlquery = "SELECT t.toon_index, t.name, t.thum_link, t.webtoon_link, t.week, t.site FROM user u, user_toon_relation ur, toon t WHERE u.id = '"+id+"' && u.id=ur.user_id && t.toon_index=ur.toon_index;"; 47 + var sqlquery = "SELECT t.toon_index, t.name, t.thum_link, t.webtoon_link, t.week, t.site FROM user u, user_toon_relation ur, toon t WHERE u.id = '"+id+"' && u.id=ur.user_id && t.toon_index=ur.toon_index;";
49 - var mylist = new Array(); 48 + var mylist = new Array();
50 - connection.query(sqlquery,id,function(err,rows,result){ 49 + connection.query(sqlquery,id,function(err,rows,result) {
51 - if(!err){ 50 + if(!err) {
52 - mylist=rows; 51 + mylist = rows;
53 - cb(mylist); 52 + cb(mylist);
54 - }else{ 53 + } else {
55 - router.get('/') 54 + router.get('/')
56 - console.log("내 웹툰 리스트 가져오는데 실패했습니다!"); 55 + console.log("내 웹툰 리스트 가져오는데 실패했습니다!");
57 - //throw err; 56 + //throw err;
58 - } 57 + }
59 - }); 58 + });
60 } 59 }
61 60
62 router.get('/', function(req, res, next) { 61 router.get('/', function(req, res, next) {
63 - getMyToons(req.user.user_id,function (mytoons) { 62 + getMyToons(req.user.user_id,function (mytoons) {
64 - res.render('setting',{ 63 + res.render('setting',{
65 - alltoons : allWebtoons, 64 + alltoons : allWebtoons,
66 - mytoons : mytoons 65 + mytoons : mytoons
67 - }); 66 + });
68 - }) 67 + })
69 }); 68 });
70 69
71 module.exports = router; 70 module.exports = router;
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
60 <div class="row"> 60 <div class="row">
61 <div class="intro-text"> 61 <div class="intro-text">
62 <h1 style="font-family:Gugi">니툰내툰</h1> 62 <h1 style="font-family:Gugi">니툰내툰</h1>
63 - <p> NAVER / DAUM / Lezhin </p> 63 + <p> NAVER / DAUM </p>
64 <a href="#about" class="btn btn-custom btn-lg page-scroll">All the Webtoons</a> 64 <a href="#about" class="btn btn-custom btn-lg page-scroll">All the Webtoons</a>
65 </div> 65 </div>
66 </div> 66 </div>
...@@ -110,37 +110,44 @@ ...@@ -110,37 +110,44 @@
110 <img src ='/images/daumicon.png' width="90" height="90" onclick="daum_click" /> 110 <img src ='/images/daumicon.png' width="90" height="90" onclick="daum_click" />
111 </a> 111 </a>
112 112
113 - <div style="display:none" id="Daum_webtoons"> 113 + <div id="Daum_webtoons" style="display:none">
114 <table> 114 <table>
115 - <%var current = ""; 115 + <%
116 - for(webtoon in list){ 116 + var current = "";
117 - if(current!=list[webtoon].week && list[webtoon].site == 'daum'){ 117 + for(webtoon in list){
118 - if(current!=""){ 118 +
119 - %> 119 + if(current!=list[webtoon].week && list[webtoon].site == 'daum'){
120 - </tr> 120 + if(current!=""){
121 - <% } %> 121 + %>
122 - <tr> 122 + </tr>
123 - <th> 123 + <% } %>
124 - <% = list[webtoon].week %> 124 + <tr>
125 - </th> 125 + <th><%= list[webtoon].week %></th>
126 - <% } %> 126 + <% } %>
127 - <% 127 + <%
128 - if(list[webtoon].site == 'daum'){ 128 + if(list[webtoon].site == 'daum')
129 - %> 129 + {
130 - <td> 130 + %>
131 - <a href="<%= list[webtoon].webtoon_link %>"> 131 + <td>
132 - <img alt="img" width="83" height="90" src="<%= list[webtoon].thum_link %>"/> 132 + <a href="<%= list[webtoon].webtoon_link %>">
133 - </a> 133 + <img alt="img" width="83" height="90" src="<%= list[webtoon].thum_link %>"/>
134 - <% = list[webtoon].name %> 134 + </a>
135 - </td> 135 + <%= list[webtoon].name %>
136 - <% } %> 136 + </td>
137 - 137 + <%
138 - <% if(current!=list[webtoon].week){ 138 + }
139 - current = list[webtoon].week; 139 + %>
140 - } 140 +
141 - } 141 + <%
142 - %> 142 + if(current!=list[webtoon].week) {
143 - </tr> 143 + current = list[webtoon].week;
144 + %>
145 +
146 + <%
147 + }
148 + }
149 + %>
150 + </tr>
144 </table> 151 </table>
145 </div> 152 </div>
146 153
...@@ -153,90 +160,44 @@ ...@@ -153,90 +160,44 @@
153 160
154 <div id="Naver_webtoons" style = "display:none"> 161 <div id="Naver_webtoons" style = "display:none">
155 <table> 162 <table>
156 - <% 163 + <%
157 - var current = "";
158 - for(webtoon in list){
159 -
160 - if(current!=list[webtoon].week && list[webtoon].site == 'naver'){
161 - if(current!=""){
162 - %>
163 - </tr>
164 - <% } %>
165 - <tr>
166 - <th><%= list[webtoon].week %></th>
167 - <% } %>
168 - <%
169 - if(list[webtoon].site == 'naver')
170 - {
171 - %>
172 - <td>
173 - <a href="<%= list[webtoon].webtoon_link %>">
174 - <img alt="img" width="83" height="90" src="<%= list[webtoon].thum_link %>"/>
175 - </a>
176 - <%= list[webtoon].name %>
177 - </td>
178 - <%
179 - }
180 - %>
181 -
182 - <%
183 - if(current!=list[webtoon].week) {
184 - current = list[webtoon].week;
185 - %>
186 -
187 - <%
188 - }
189 - }
190 - %>
191 - </tr>
192 - </table>
193 - </div>
194 -
195 - <font size = 30>
196 - 레진 웹툰
197 - </font>
198 - <a onclick="Lezhin_webtoons.style.display=(Lezhin_webtoons.style.display=='none')?'block':'none';" href="javascript:void(0)">
199 - <img src ='/images/lezhinicon.png' width="90" height="90"/>
200 - </a>
201 -
202 - <div id="Lezhin_webtoons" style = "display:none">
203 - <table>
204 - <%
205 var current = ""; 164 var current = "";
206 - for(webtoon in list){ 165 + for(webtoon in list){
207 - if(current!=list[webtoon].week && list[webtoon].site == 'naver'){ 166 +
208 - if(current!=""){ 167 + if(current!=list[webtoon].week && list[webtoon].site == 'naver'){
209 - %> 168 + if(current!=""){
210 - </tr> 169 + %>
211 - <% } %> 170 + </tr>
212 - <tr> 171 + <% } %>
213 - <th><%= list[webtoon].week %></th> 172 + <tr>
214 - <% } %> 173 + <th><%= list[webtoon].week %></th>
215 - <% 174 + <% } %>
216 - if(list[webtoon].site == 'naver') 175 + <%
217 - { 176 + if(list[webtoon].site == 'naver')
218 - %> 177 + {
219 - <td> 178 + %>
220 - <a href="<%= list[webtoon].webtoon_link %>"> 179 + <td>
221 - <img alt="img" width="83" height="90" src="<%= list[webtoon].thum_link %>"/> 180 + <a href="<%= list[webtoon].webtoon_link %>">
222 - </a> 181 + <img alt="img" width="83" height="90" src="<%= list[webtoon].thum_link %>"/>
223 - <%= list[webtoon].name %> 182 + </a>
224 - </td> 183 + <%= list[webtoon].name %>
225 - <% 184 + </td>
226 - } 185 + <%
227 - %> 186 + }
228 - 187 + %>
229 - <% 188 +
230 - if(current!=list[webtoon].week) { 189 + <%
231 - current = list[webtoon].week; 190 + if(current!=list[webtoon].week) {
232 - } 191 + current = list[webtoon].week;
233 - } 192 + %>
234 - %> 193 +
235 - </tr> 194 + <%
195 + }
196 + }
197 + %>
198 + </tr>
236 </table> 199 </table>
237 </div> 200 </div>
238 - </ul>
239 -
240 </div> 201 </div>
241 </div> 202 </div>
242 </div> 203 </div>
......