이승윤

feat: Home page db 호출 기능

...@@ -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;
......