Showing
3 changed files
with
27 additions
and
48 deletions
... | @@ -28,7 +28,7 @@ var categori = require('./routes/categori'); | ... | @@ -28,7 +28,7 @@ var categori = require('./routes/categori'); |
28 | var accounts = require('./routes/accounts'); | 28 | var accounts = require('./routes/accounts'); |
29 | var auth = require('./routes/auth'); | 29 | var auth = require('./routes/auth'); |
30 | var connectMongo = require('connect-mongo'); | 30 | var connectMongo = require('connect-mongo'); |
31 | -var Search = require('./routes/Search'); | 31 | +var Video = require('./routes/Videos'); |
32 | var MongoStore = connectMongo(session); | 32 | var MongoStore = connectMongo(session); |
33 | 33 | ||
34 | app.set('views', path.join(__dirname, 'views')); | 34 | app.set('views', path.join(__dirname, 'views')); |
... | @@ -68,7 +68,7 @@ app.use(function (req, res, next) { | ... | @@ -68,7 +68,7 @@ app.use(function (req, res, next) { |
68 | }); | 68 | }); |
69 | 69 | ||
70 | //routes add | 70 | //routes add |
71 | -app.use('/', Search); | 71 | +app.use('/', Video); |
72 | app.use('/categori', categori); | 72 | app.use('/categori', categori); |
73 | app.use('/accounts', accounts); | 73 | app.use('/accounts', accounts); |
74 | app.use('/auth', auth); | 74 | app.use('/auth', auth); | ... | ... |
... | @@ -9,7 +9,7 @@ var limit = 10; // 출력 갯수 | ... | @@ -9,7 +9,7 @@ var limit = 10; // 출력 갯수 |
9 | var video = []; | 9 | var video = []; |
10 | var test = 'test'; | 10 | var test = 'test'; |
11 | var count = 0; | 11 | var count = 0; |
12 | -youtube.setKey('AIzaSyAsKr_oWGZIBbL5tLdIl98Lf9Pzqj8jX4o'); // API 키 입력 | 12 | +youtube.setKey('AIzaSyCAaeW1qMSInEdN1OzU20FZlToIZYkb1bc'); // API 키 입력 |
13 | youtube.addParam('order', 'rating'); // 평점 순으로 정렬 | 13 | youtube.addParam('order', 'rating'); // 평점 순으로 정렬 |
14 | youtube.addParam('type', 'video'); // 타입 지정 | 14 | youtube.addParam('type', 'video'); // 타입 지정 |
15 | youtube.addParam('videoLicense', 'creativeCommon'); // 크리에이티브 커먼즈 아이템만 불러옴 | 15 | youtube.addParam('videoLicense', 'creativeCommon'); // 크리에이티브 커먼즈 아이템만 불러옴 |
... | @@ -19,9 +19,7 @@ youtube.search(word, limit, function (err, result) { | ... | @@ -19,9 +19,7 @@ youtube.search(word, limit, function (err, result) { |
19 | if (err) { | 19 | if (err) { |
20 | console.log(err); | 20 | console.log(err); |
21 | } // 에러일 경우 에러공지하고 빠져나감 | 21 | } // 에러일 경우 에러공지하고 빠져나감 |
22 | - | ||
23 | //console.log(JSON.stringify(result, null, 2)); // 받아온 전체 리스트 출력 | 22 | //console.log(JSON.stringify(result, null, 2)); // 받아온 전체 리스트 출력 |
24 | - | ||
25 | var items = result['items']; // 결과 중 items 항목만 가져옴 | 23 | var items = result['items']; // 결과 중 items 항목만 가져옴 |
26 | for (var i in items) { | 24 | for (var i in items) { |
27 | var it = items[i]; | 25 | var it = items[i]; | ... | ... |
1 | -var Youtube = require('youtube-node'); | ||
2 | -var youtube = new Youtube(); | ||
3 | - | ||
4 | var express = require('express'); | 1 | var express = require('express'); |
2 | +var CategoriModel = require('../models/CategoriModel'); | ||
3 | +var VideoModel = require('../models/VideoModel'); | ||
5 | var router = express.Router(); | 4 | var router = express.Router(); |
6 | 5 | ||
7 | -var word = '백종원'; // 검색어 지정 | 6 | +router.get('/', function (req, res) { |
8 | -var limit = 10; // 출력 갯수 | 7 | + CategoriModel.find(function (err, category) { |
9 | -var video = []; | 8 | + VideoModel.find(function (err, video) { |
10 | -var test = 'test'; | 9 | + var item = []; // 카테고리별 비디오 목록을 담아두는 배열 |
11 | -var count = 0; | 10 | + for (var i in category) { |
12 | -youtube.setKey('AIzaSyAsKr_oWGZIBbL5tLdIl98Lf9Pzqj8jX4o'); // API 키 입력 | 11 | + var videos = []; // 비디오 목록을 담는 임시 배열 |
13 | - | 12 | + for (var j in video) { |
14 | -youtube.addParam('order', 'rating'); // 평점 순으로 정렬 | 13 | + if (category[i].title == video[j].categori) { |
15 | -youtube.addParam('type', 'video'); // 타입 지정 | 14 | + videos.push(video[j]); |
16 | -youtube.addParam('videoLicense', 'creativeCommon'); // 크리에이티브 커먼즈 아이템만 불러옴 | ||
17 | - | ||
18 | -youtube.search(word, limit, function (err, result) { | ||
19 | - // 검색 실행 | ||
20 | - if (err) { | ||
21 | - console.log(err); | ||
22 | - } // 에러일 경우 에러공지하고 빠져나감 | ||
23 | - | ||
24 | - //console.log(JSON.stringify(result, null, 2)); // 받아온 전체 리스트 출력 | ||
25 | - | ||
26 | - var items = result['items']; // 결과 중 items 항목만 가져옴 | ||
27 | - for (var i in items) { | ||
28 | - var it = items[i]; | ||
29 | - for (var j in it) { | ||
30 | - if (it[j]['title'] != null) { | ||
31 | - var title = it[j]['title']; | ||
32 | - } | ||
33 | - if (it[j]['videoId'] != null) { | ||
34 | - var video_id = it[j]['videoId']; | ||
35 | } | 15 | } |
36 | - var urls = 'https://www.youtube.com/watch?v=' + video_id; | ||
37 | } | 16 | } |
38 | - var item = { | 17 | + if (videos.length != 0) { |
39 | - id: count, | 18 | + // 빈 배열 체크 |
40 | - title: title, | 19 | + console.log(videos); |
41 | - video_id: video_id, | 20 | + var items = { |
42 | - urls: urls, | 21 | + category: category[i], |
22 | + videos: videos, | ||
43 | }; | 23 | }; |
44 | - count++; | 24 | + item.push(items); |
45 | - video.push(item); | ||
46 | } | 25 | } |
47 | -}); | 26 | + } |
48 | - | 27 | + //console.log(item[2].category.title); |
49 | -router.get('/', function (req, res) { | 28 | + //console.log(item[2].videos); |
50 | res.render( | 29 | res.render( |
51 | 'home', | 30 | 'home', |
52 | - { videos: video } // DB에서 받은 videos를 videos변수명으로 내보냄 | 31 | + { video: item, categories: category } // DB에서 받은 videos와 category를 videos변수명으로 내보냄 |
53 | ); | 32 | ); |
33 | + }); | ||
34 | + }); | ||
54 | }); | 35 | }); |
55 | 36 | ||
56 | module.exports = router; | 37 | module.exports = router; | ... | ... |
-
Please register or login to post a comment