2016-11-16 3 views
1

Мы разрабатываем канал youtube с использованием Ionic и AngularJS. функция поиска работает только после загрузки видео через api. Как задать условие, при котором окно поиска пуст, а затем автоматически загружать видео. Если в окне поиска есть что-либо, он должен искать весь канал для этих конкретных видеороликов, содержащих название и описание, соответствующие полю поиска.Как добавить функцию поиска перед загрузкой приложения

(function() { 

    //Make it expressive by introducing new variable app. App now in global space (bad practics) 
    var app = angular.module('youtubevideo', ['ionic', 'youtube-embed', 'ngCordova', 'ngIOS9UIWebViewPatch']); 

    app.run(function($ionicPlatform) { 
    $ionicPlatform.ready(function() { 
     if(window.cordova && window.cordova.plugins.Keyboard) { 
     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
     } 
     if(window.StatusBar) { 
     StatusBar.styleDefault(); 
     } 
    }); 
    }); 

    //**** Version 2: Refactory codes to use pull to refresh, and infinite scroll ***// 
app.controller('mycontroller', function($scope, $http, $ionicModal){ 

    $scope.videos = [];  
    $scope.appname = ""; 

    $scope.playerVars = { 
     rel: 0, 
     showinfo: 0, 
     modestbranding: 0, 
    } 

    $scope.nextPageToken = null; 

    $scope.youtubeParams = { 
    key: 'my_secretkey', 
    type: 'video', 
    maxResults: '50', 
    part: 'id,snippet', 
    q: 'iphone', 
    order: 'videoCount', 
    channelId: 'my_secretchannelid'  
    } 

    function loadVideos(params, callback) { 
     $http.get('https://www.googleapis.com/youtube/v3/search', {params: params}).success(function(response){    
     var videos = []; 
     if(response.nextPageToken) { 
      $scope.nextPageToken = response.nextPageToken; 
      console.log ($scope.nextPageToken); 
      console.log(response.items); 
      angular.forEach(response.items, function(child){ 
      videos.push(child); 
      }); 
     } 

     callback(videos);    
     }); 
    } 

    $scope.loadOlderVideos = function() { 
    var params = $scope.youtubeParams; 
    if ($scope.nextPageToken) { 
     params['pageToken'] = $scope.nextPageToken; 
    } 
    loadVideos(params, function(olderVideos){ 
     if (olderVideos) { 
     $scope.videos = $scope.videos.concat(olderVideos); 
     } 
     $scope.$broadcast('scroll.infiniteScrollComplete'); 
    }); 
    }; 

    $scope.loadNewerVideos = function() { 
    var params = $scope.youtubeParams; 
    params['pageToken'] = ''; 
     loadVideos(params, function(newerVideos) { 
     $scope.videos = newerVideos; 
     $scope.$broadcast('scroll.refreshComplete'); 
     });  
    };  
    });  
}()); 
+0

Вы не должны вводить в код чувствительные вещи, такие как ключи, идентификаторы или учетные данные. –

ответ

0

Возможно, вам понадобится использовать видео api, когда нет содержимого для поиска.

https://www.googleapis.com/youtube/v3/videos