hyunjong

코드 정리

......@@ -47,7 +47,6 @@ var mytoons = require('./routes/mytoons');
var yourtoons =require('./routes/yourtoons');
var setting = require('./routes/setting');
// 최초 로그인 성공시 (Strategy 성공시) 단 한번만 호출
passport.serializeUser(function(user, done) {
console.log('serialized');
......
......@@ -152,6 +152,8 @@ function getLatestToon(titleid, day ,cb) {
}
var daumCount = 0;
//_day요일의 다음웹툰 불러오기
function getDaumToons(_day) {
......@@ -165,6 +167,9 @@ function getDaumToons(_day) {
var data = JSON.parse(body);
var list = data["data"];
if(err) {
console.log("다음웹툰 DB 에러 : " + err);
} else {
list.forEach(function (item, idx) {
var webtoon_link = 'http://webtoon.daum.net/webtoon/view/' + item.nickname.toString();
......@@ -177,9 +182,10 @@ function getDaumToons(_day) {
site : site,
latest : 0
};
daumCount++;
allWebtoonList.push(webtoon);
});
}
});
}
......@@ -187,6 +193,9 @@ function getDaumToons(_day) {
function getNaverToons() {
var allWeeklyToonsUrl = "http://comic.naver.com/webtoon/weekday.nhn";
// 네이버 웹툰 개수
var naverCount = 0;
var webtoonCount = 0;
request(allWeeklyToonsUrl,function (err, res, html) {
if(!err){
......@@ -209,54 +218,7 @@ function getNaverToons() {
site : site,
latest : 0
};
allWebtoonList.push(webtoon);
});
p.then(function() {
i = 0;
allWebtoonList.forEach(function (webtoon) {
var sql= "INSERT INTO `toon` (toon_index, name, thum_link, webtoon_link, week, site, latest) VALUES(?) ON DUPLICATE KEY UPDATE latest=latest";
var values=[webtoon.toon_index, webtoon.name, webtoon.thum_link, webtoon.webtoon_link,webtoon.week, webtoon.site, webtoon.latest];
connection.query(sql,[values],function(err,result){
if (err) {
console.log("웹툰 DB 에러 : " + err);
} else {
console.log("웹툰 DB처리 완료!");
}
});
})
});
}
});
}
// 구현중
function getTomicsToons(){
var allWeeklyToonsUrl = "https://www.lezhin.com/ko/scheduled";
request(allWeeklyToonsUrl,function (err, res, html) {
if(!err){
var $ = cheerio.load(html);
var p = Promise.resolve();
var eachs = $(".thumb").each(function (i) {
var week = $(this).parent().parent().prev().attr('class');
var webtoon_link = "https://www.lezhin.com/ko" + $(this).children().first().attr('href');
var thumb_link = $(this).children().first().children().first().attr('src');
var name = $(this).next().text();
var titleid = webtoon_link.split('?')[1].split('&')[0].split('=')[1];
var site = 'naver';
var webtoon= {
toon_index: titleid,
name : name,
thum_link : thumb_link,
webtoon_link : webtoon_link,
week : week,
site : site,
latest : 0
};
naverCount++;
allWebtoonList.push(webtoon);
});
......@@ -267,19 +229,21 @@ function getTomicsToons(){
var values=[webtoon.toon_index, webtoon.name, webtoon.thum_link, webtoon.webtoon_link,webtoon.week, webtoon.site, webtoon.latest];
connection.query(sql,[values],function(err,result){
if (err) {
if(err) {
console.log("웹툰 DB 에러 : " + err);
} else {
console.log("웹툰 DB처리 완료!");
webtoonCount++;
console.log(`웹툰 ${webtoonCount}개 DB처리 완료!`);
}
});
})
});
}
console.log(`다음웹툰 ${daumCount}개, 네이버웹툰 ${naverCount}개`)
});
}
// 모든 웹을 담고있는 배열
// 모든 웹을 담고있는 배열
allWebtoons = new Array();
// 설명
......@@ -303,8 +267,6 @@ function getAllToons() {
getDaumToons('sun');
//네이버 웹툰
getNaverToons();
//투믹스 웹툰
getTomicsToons();
allWebtoons = allWebtoonList;
};
......
......@@ -2,16 +2,16 @@ var express = require('express');
var async = require('async');
var router = express.Router();
function getMyToons(id,cb){
function getMyToons(id,cb) {
//id 값을 가진 user가 저장한 웹툰들 가져오기
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;";
var mylist = new Array();
connection.query(sqlquery,id,function(err,rows,result){
if(!err){
connection.query(sqlquery,id,function(err,rows,result) {
if(!err) {
mylist=rows;
cb(mylist);
console.log(mylist);
}else{
} else {
console.log("내 웹툰 리스트 가져오는데 실패했습니다!");
//throw err;
}
......@@ -20,17 +20,15 @@ function getMyToons(id,cb){
/* GET home page. */
router.get('/', function(req, res, next) {
if(!req.isAuthenticated()){
if(!req.isAuthenticated()) {
res.redirect('/');
}else{
async.series(
[
} else {
async.series([
function(callback){
getMyToons(req.user.user_id, function (mytoon_list) {
callback(null,mytoon_list);
});
}
],
}],
function(err, results){
res.render('mytoons', {
mytoons: results[0]
......
......@@ -3,19 +3,18 @@ var router = express.Router();
function addMyToons(id,index,cb){
connection.query("INSERT INTO user_toon_relation SET ?;", {user_id : id,toon_index : index},function (err) {
if(err) {
throw err;
console.log("내 웹툰 추가 중 에러!")
} else{
// alert("추가되었습니다.")
} else {
alert("추가되었습니다.")
cb();
}
});
}
//내툰 수정하기
router.post('/toggle_toon',function(req,res,next){
router.post('/toggle_toon',function(req,res,next) {
var index = req.body.toon_index;
var id = req.user.user_id;
connection.query("SELECT COUNT(*) FROM user_toon_relation WHERE user_id='"+id+"' && toon_index='"+index+"'", [id,index], function (err, rows,result) {
......@@ -23,18 +22,18 @@ router.post('/toggle_toon',function(req,res,next){
console.log("내 웹툰 등록 중 에러!");
} else {
var count = rows[0]["COUNT(*)"];
if(count>0) {//이미 등록되어 있는 것이라면,
if(count > 0) { //이미 등록되어 있는 것이라면,
connection.query("DELETE FROM user_toon_relation WHERE user_id='"+id+"' && toon_index='"+index+"';", [id, index],function (err, rows, result) {
if(err) {
console.log("내 웹툰 제거중 에러!");
throw err;
} else {
//alert("제거되었습니다.")
alert("제거되었습니다.")
res.redirect('/setting');
}
});
} else {
addMyToons(id,index,function(){
addMyToons(id,index,function() {
res.redirect('/setting');
});
}
......@@ -47,11 +46,11 @@ function getMyToons(id,cb){
//mysql5.7 syntax에 맞게 수정 => 로그인한 유저의
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;";
var mylist = new Array();
connection.query(sqlquery,id,function(err,rows,result){
if(!err){
mylist=rows;
connection.query(sqlquery,id,function(err,rows,result) {
if(!err) {
mylist = rows;
cb(mylist);
}else{
} else {
router.get('/')
console.log("내 웹툰 리스트 가져오는데 실패했습니다!");
//throw err;
......
......@@ -60,7 +60,7 @@
<div class="row">
<div class="intro-text">
<h1 style="font-family:Gugi">니툰내툰</h1>
<p> NAVER / DAUM / Lezhin </p>
<p> NAVER / DAUM </p>
<a href="#about" class="btn btn-custom btn-lg page-scroll">All the Webtoons</a>
</div>
</div>
......@@ -110,54 +110,13 @@
<img src ='/images/daumicon.png' width="90" height="90" onclick="daum_click" />
</a>
<div style="display:none" id="Daum_webtoons">
<table>
<%var current = "";
for(webtoon in list){
if(current!=list[webtoon].week && list[webtoon].site == 'daum'){
if(current!=""){
%>
</tr>
<% } %>
<tr>
<th>
<% = list[webtoon].week %>
</th>
<% } %>
<%
if(list[webtoon].site == 'daum'){
%>
<td>
<a href="<%= list[webtoon].webtoon_link %>">
<img alt="img" width="83" height="90" src="<%= list[webtoon].thum_link %>"/>
</a>
<% = list[webtoon].name %>
</td>
<% } %>
<% if(current!=list[webtoon].week){
current = list[webtoon].week;
}
}
%>
</tr>
</table>
</div>
<font size = 30>
네이버 웹툰
</font>
<a onclick="Naver_webtoons.style.display=(Naver_webtoons.style.display=='none')?'block':'none';" href="javascript:void(0)">
<img src ='/images/navericon.png' width="90" height="90"/>
</a>
<div id="Naver_webtoons" style = "display:none">
<div id="Daum_webtoons" style="display:none">
<table>
<%
var current = "";
for(webtoon in list){
if(current!=list[webtoon].week && list[webtoon].site == 'naver'){
if(current!=list[webtoon].week && list[webtoon].site == 'daum'){
if(current!=""){
%>
</tr>
......@@ -166,7 +125,7 @@
<th><%= list[webtoon].week %></th>
<% } %>
<%
if(list[webtoon].site == 'naver')
if(list[webtoon].site == 'daum')
{
%>
<td>
......@@ -193,17 +152,18 @@
</div>
<font size = 30>
레진 웹툰
네이버 웹툰
</font>
<a onclick="Lezhin_webtoons.style.display=(Lezhin_webtoons.style.display=='none')?'block':'none';" href="javascript:void(0)">
<img src ='/images/lezhinicon.png' width="90" height="90"/>
<a onclick="Naver_webtoons.style.display=(Naver_webtoons.style.display=='none')?'block':'none';" href="javascript:void(0)">
<img src ='/images/navericon.png' width="90" height="90"/>
</a>
<div id="Lezhin_webtoons" style = "display:none">
<div id="Naver_webtoons" style = "display:none">
<table>
<%
var current = "";
for(webtoon in list){
if(current!=list[webtoon].week && list[webtoon].site == 'naver'){
if(current!=""){
%>
......@@ -229,14 +189,15 @@
<%
if(current!=list[webtoon].week) {
current = list[webtoon].week;
%>
<%
}
}
%>
</tr>
</table>
</div>
</ul>
</div>
</div>
</div>
......