⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searchutil.as

📁 Yahoo!search API. 用于搜索引擎接口
💻 AS
字号:
import com.yahoo.event.ObservableObject;
import com.yahoo.xml.SimpleXML;
import com.yahoo.search.SearchResultXML;

class com.yahoo.util.SearchUtil extends ObservableObject
{
	public static var APPLICATION_ID:String = 'YahooFlashSDKSearchUtil';
	public static var YAHOO_BETA_SEARCH_SERVICE_URL:String = '';
	public static var YAHOO_SEARCH_SERVICE_URL:String = 'http://search.yahooapis.com/';
	public static var YAHOO_PODCAST_SEARCH:String 	= 'podcast';
	public static var YAHOO_WEB_SEARCH:String 	= 'web';
	public static var YAHOO_IMAGE_SEARCH:String = 'image';
	public static var YAHOO_NEWS_SEARCH:String 	= 'news';
	public static var YAHOO_VIDEO_SEARCH:String = 'video';
	public static var YAHOO_LOCAL_SEARCH:String = 'local';
	public static var YAHOO_TERM_EXTRACTION:String = 'termextraction';
	
	public static function search(target:Object, query:String, searchType:String, resultsLength:Number):SearchResultXML
	{
		if(resultsLength == undefined)
		{
			resultsLength = 20;
		}
		var additionalArguments:String = '';
		if(arguments[4] != undefined)
		{
			additionalArguments = arguments[4];
		}
		var $searchXML = new SearchResultXML;
		
		if(target != undefined)
		{
			$searchXML.addEventObserver(target, 'onYahooSearchResult')
		}
		$searchXML.init($searchXML.handleSearch, query, searchType, target, '&results=' + resultsLength + additionalArguments);
		
		return $searchXML;
	}
	/**
	 * This method simply returns a properly formated query url for performing a Yahoo! search
	 * 
	 * @usage   this.queryURL:String = SearchUtil.getServiceURL(needle, searchType, zip);
	 * @param   needle    (String) text to search for 
	 * @param   searchType (String) tyoe of search, can be any of the following: 'image', 'audio', 'news', 'video', 'web', 'local'
	 * @return  String
	 */
	public static function getServiceURL(needle:String, searchType:String):String
	{
		var query:String;
		var zip:String;
		var serviceURL:String;
		// chack for zip
		if(arguments[2] != undefined)
		{
			zip = '&zip=' + arguments[2];
		}
		// ensure presence of required parameters
		if(needle == undefined || searchType == undefined)
		{
			return undefined;
		}
		else
		{
			query = '?appid=' + APPLICATION_ID + '&';
		}
		
		var queryKey:String;
		switch(searchType)
		{
			case SearchUtil.YAHOO_TERM_EXTRACTION:
			{
				queryKey = 'context';
			}
			break;
			default:
			{
				queryKey = 'query';
			}
			break;
		}
		query += queryKey.concat('=');
		// access Y! search string
		query += needle;
		// add zip if need be
		if(zip != undefined)
		{
			query += zip;
		}
		var services:Array = new Array;
		services[SearchUtil.YAHOO_IMAGE_SEARCH] = SearchUtil.YAHOO_SEARCH_SERVICE_URL + 'ImageSearchService/V1/imageSearch';
		services[SearchUtil.YAHOO_NEWS_SEARCH]  = SearchUtil.YAHOO_SEARCH_SERVICE_URL + 'NewsSearchService/V1/newsSearch';
		services[SearchUtil.YAHOO_VIDEO_SEARCH] = SearchUtil.YAHOO_SEARCH_SERVICE_URL + 'VideoSearchService/V1/videoSearch';
		services[SearchUtil.YAHOO_WEB_SEARCH]   = SearchUtil.YAHOO_SEARCH_SERVICE_URL + 'WebSearchService/V1/webSearch';
		services[SearchUtil.YAHOO_PODCAST_SEARCH] = SearchUtil.YAHOO_SEARCH_SERVICE_URL + 'AudioSearchService/V1/podcastSearch';
		services[SearchUtil.YAHOO_TERM_EXTRACTION] = SearchUtil.YAHOO_SEARCH_SERVICE_URL + 'ContentAnalysisService/V1/termExtraction';
		// local search is on a different host
		services[SearchUtil.YAHOO_LOCAL_SEARCH] = 'http://local.yahooapis.com/LocalSearchService/V1/localSearch';
		// build service url
		serviceURL = services[searchType].concat(query);
		
		//trace('serviceURL: ' + serviceURL);
		return serviceURL;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -