精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

jQ、Yahoo API和HTML 5開發天氣預報應用

開發 前端
使用Geolocation取得用戶的地理位置信息,然后,使用yahoo的 PlaceFinder API,來通過經緯度來找到具體地點,例如,城市或者國家。其中包括了woeid,這個用來在天氣預報應用中找到國家。

使用jQuery,Yahoo API和HTML5的geolocation來開發一個天氣預報web應用

在線演示  本地下載

今天我們介紹來自tutorialzine的一個HTML5/jQuery/Yahoo API的開發教程,在這篇文章中我們將介紹如何使用HTML5的Geolocation,jQuery和YahooAPI來開發一個天氣預報web應用。 如果你不熟悉HTML5的Geolocation(地理位置服務),請參考我們的HTML5教程: HTML5 Geolocation

首先你需要得到Yahoo API的API key,你可以通過如下地址取得對應的API key:https://developer.apps.yahoo.com/dashboard/createKey.html

以上創建過程中會要求你輸入相關應用地址等信息。創建成功后,你可以得到APPID。

主要思路

在這個教程中,我們主要思路如下:

使用Geolocation取得用戶的地理位置信息

然后,使用yahoo的 PlaceFinder API,來通過經緯度來找到具體地點,例如,城市或者國家。其中包括了woeid,這個用來在天氣預報應用中找到國家。

最后,我們將調用yahoo的Weather API來取得天氣。

web應用代碼

#p#

HTML

  1. <!DOCTYPE html> 
  2. <html> 
  3.     <head> 
  4.         <meta charset="gbk" /> 
  5.         <title>Weather Forecast with jQuery &amp; Yahoo APIs</title> 
  6.           
  7.         <!-- The stylesheet --> 
  8.         <link rel="stylesheet" href="assets/css/styles.css" /> 
  9.           
  10.         <!-- Google Fonts --> 
  11.         <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Playball|Open+Sans+Condensed:300,700" /> 
  12.           
  13.         <!--[if lt IE 9]> 
  14.           <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
  15.         <![endif]--> 
  16.     </head> 
  17.       
  18.     <body> 
  19.  
  20.         <header> 
  21.             <h1>Weather Forecast</h1> 
  22.         </header> 
  23.           
  24.         <div id="weather"> 
  25.  
  26.             <ul id="scroller"> 
  27.                 <!-- The forecast items will go here --> 
  28.             </ul> 
  29.               
  30.             <a href="#" class="arrow previous">Previous</a> 
  31.             <a href="#" class="arrow next">Next</a> 
  32.               
  33.         </div> 
  34.           
  35.         <p class="location"></p> 
  36.           
  37.         <div id="clouds"></div> 
  38.           
  39.         <footer> 
  40.             <h2><i>Tutorial:</i> Weather Forecast with jQuery &amp; Yahoo APIs</h2> 
  41.             <a class="tzine" href="http://tutorialzine.com/2012/05/weather-forecast-geolocation-jquery/">Head on to <i>Tutorial<b>zine</b></i> to download this example</a> 
  42.         </footer> 
  43.           
  44.         <!-- JavaScript includes - jQuery, turn.js and our own script.js --> 
  45.         <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script> 
  46.         <script src="assets/js/script.js" charset="utf-8"></script> 
  47.           
  48.     </body> 
  49. </html> 

#p#

Javascript

  1. $(function(){  
  2.       
  3.     /* Configuration */ 
  4.       
  5.     var APPID = 'fa2pT26k';        // Your Yahoo APP id  
  6.     var DEG = 'c';        // c for celsius, f for fahrenheit  
  7.       
  8.     // Mapping the weather codes returned by Yahoo's API  
  9.     // to the correct icons in the img/icons folder  
  10.       
  11.     var weatherIconMap = [  
  12.         'storm''storm''storm''lightning''lightning''snow''hail''hail',  
  13.         'drizzle''drizzle''rain''rain''rain''snow''snow''snow''snow',  
  14.         'hail''hail''fog''fog''fog''fog''wind''wind''snowflake',  
  15.         'cloud''cloud_moon''cloud_sun''cloud_moon''cloud_sun''moon''sun',  
  16.         'moon''sun''hail''sun''lightning''lightning''lightning''rain',  
  17.         'snowflake''snowflake''snowflake''cloud''rain''snow''lightning' 
  18.     ];  
  19.       
  20.     var weatherDiv = $('#weather'),  
  21.         scroller = $('#scroller'),  
  22.         location = $('p.location');  
  23.       
  24.     // Does this browser support geolocation?  
  25.     if (navigator.geolocation) {  
  26.         navigator.geolocation.getCurrentPosition(locationSuccess, locationError);  
  27.     }  
  28.     else{  
  29.         showError("Your browser does not support Geolocation!");  
  30.     }  
  31.       
  32.     // Get user's location, and use Yahoo's PlaceFinder API  
  33.     // to get the location name, woeid and weather forecast  
  34.       
  35.     function locationSuccess(position) {  
  36.         var lat = position.coords.latitude;  
  37.         var lon = position.coords.longitude;  
  38.  
  39.         // Yahoo's PlaceFinder API http://developer.yahoo.com/geo/placefinder/  
  40.         // We are passing the R gflag for reverse geocoding (coordinates to place name)  
  41.         var geoAPI = 'http://where.yahooapis.com/geocode?location='+lat+','+lon+'&flags=J&gflags=R&appid='+APPID;  
  42.           
  43.         // Forming the query for Yahoo's weather forecasting API with YQL  
  44.         // http://developer.yahoo.com/weather/  
  45.           
  46.         var wsql = 'select * from weather.forecast where woeid=WID and u="'+DEG+'"',  
  47.             weatherYQL = 'http://query.yahooapis.com/v1/public/yql?q='+encodeURIComponent(wsql)+'&format=json&callback=?',  
  48.             code, city, results, woeid;  
  49.           
  50.         if (window.console && window.console.info){  
  51.             console.info("Coordinates: %f %f", lat, lon);  
  52.         }  
  53.           
  54.         // Issue a cross-domain AJAX request (CORS) to the GEO service.  
  55.         // Not supported in Opera and IE.  
  56.         $.getJSON(geoAPI, function(r){  
  57.              
  58.             if(r.ResultSet.Found == 1){  
  59.                   
  60.                 results = r.ResultSet.Results;  
  61.                 city = results[0].city;  
  62.                 code = results[0].statecode || results[0].countrycode;  
  63.           
  64.                 // This is the city identifier for the weather API  
  65.                 woeid = results[0].woeid;  
  66.       
  67.                 // Make a weather API request:  
  68.                 $.getJSON(weatherYQL.replace('WID',woeid), function(r){  
  69.                       
  70.                     if(r.query && r.query.count == 1){  
  71.                           
  72.                         // Create the weather items in the #scroller UL  
  73.                           
  74.                         var item = r.query.results.channel.item.condition;  
  75.                           
  76.                         if(!item){  
  77.                             showError("We can't find weather information about your city!");  
  78.                             if (window.console && window.console.info){  
  79.                                 console.info("%s, %s; woeid: %d", city, code, woeid);  
  80.                             }  
  81.                               
  82.                             return false;  
  83.                         }  
  84.                           
  85.                         addWeather(item.code, "Now", item.text + ' <b>'+item.temp+'°'+DEG+'</b>');  
  86.                           
  87.                         for (var i=0;i<2;i++){  
  88.                             item = r.query.results.channel.item.forecast[i];  
  89.                             addWeather(  
  90.                                 item.code,   
  91.                                 item.day +' <b>'+item.date.replace('\d+$','')+'</b>',  
  92.                                 item.text + ' <b>'+item.low+'°'+DEG+' / '+item.high+'°'+DEG+'</b>' 
  93.                             );  
  94.                         }  
  95.                           
  96.                         // Add the location to the page  
  97.                         location.html(city+', <b>'+code+'</b>');  
  98.                           
  99.                         weatherDiv.addClass('loaded');  
  100.                           
  101.                         // Set the slider to the first slide  
  102.                         showSlide(0);  
  103.                      
  104.                     }  
  105.                     else {  
  106.                         showError("Error retrieving weather data!");  
  107.                     }  
  108.                 });  
  109.           
  110.             }  
  111.               
  112.         }).error(function(){  
  113.             showError("Your browser does not support CORS requests!");  
  114.         });  
  115.          
  116.     }  
  117.       
  118.     function addWeather(code, day, condition){  
  119.           
  120.         var markup = '<li>'+  
  121.             '<img src="assets/img/icons/'+ weatherIconMap[code] +'.png" />'+  
  122.             ' <p class="day">'+ day +'</p> <p class="cond">'+ condition +  
  123.             '</p></li>';  
  124.           
  125.         scroller.append(markup);  
  126.     }  
  127.       
  128.     /* Handling the previous / next arrows */ 
  129.       
  130.     var currentSlide = 0;  
  131.     weatherDiv.find('a.previous').click(function(e){  
  132.         e.preventDefault();  
  133.         showSlide(currentSlide-1);  
  134.     });  
  135.       
  136.     weatherDiv.find('a.next').click(function(e){  
  137.         e.preventDefault();  
  138.         showSlide(currentSlide+1);  
  139.     });  
  140.       
  141.       
  142.     function showSlide(i){  
  143.         var items = scroller.find('li');  
  144.           
  145.         if (i >= items.length || i < 0 || scroller.is(':animated')){  
  146.             return false;  
  147.         }  
  148.           
  149.         weatherDiv.removeClass('first last');  
  150.           
  151.         if(i == 0){  
  152.             weatherDiv.addClass('first');  
  153.         }  
  154.         else if (i == items.length-1){  
  155.             weatherDiv.addClass('last');  
  156.         }  
  157.           
  158.         scroller.animate({left:(-i*100)+'%'}, function(){  
  159.             currentSlide = i;  
  160.         });  
  161.     }  
  162.       
  163.     /* Error handling functions */ 
  164.       
  165.     function locationError(error){  
  166.         switch(error.code) {  
  167.             case error.TIMEOUT:  
  168.                 showError("A timeout occured! Please try again!");  
  169.                 break;  
  170.             case error.POSITION_UNAVAILABLE:  
  171.                 showError('We can\'t detect your location. Sorry!');  
  172.                 break;  
  173.             case error.PERMISSION_DENIED:  
  174.                 showError('Please allow geolocation access for this to work.');  
  175.                 break;  
  176.             case error.UNKNOWN_ERROR:  
  177.                 showError('An unknown error occured!');  
  178.                 break;  
  179.         }  
  180.           
  181.     }  
  182.       
  183.     function showError(msg){  
  184.         weatherDiv.addClass('error').html(msg);  
  185.     }  
  186.  
  187. }); 

搞定!具體演示請參考在線Demo,希望大家喜歡這個web應用!

 

原文鏈接:http://www.cnblogs.com/gbin1/archive/2012/06/14/2549525.html

【編輯推薦】

  1. jQuery 煙花效果(運動相關)
  2. 到處都是jQuery選擇器的年代
  3. jQuery:讓文盲秀網頁
  4. 新版jQuery div彈出層的ajax登錄
  5. jQuery圖片延遲加載技術的應用
責任編輯:張偉 來源: gbin1的博客
相關推薦

2016-03-14 10:29:38

天氣預報各類工具源碼

2013-03-26 13:20:27

Android天氣預報

2009-07-07 09:25:08

Linux開發FOSS開發項目

2022-02-21 11:02:54

5G通信網絡天氣預報

2010-08-13 10:56:58

FlexWebservice

2013-04-10 17:59:50

微信公眾平臺接口開發

2017-08-01 10:10:32

人工智能智能天氣預報

2013-09-09 10:52:10

2012-03-13 16:45:09

超級計算機沃森Deep Thunde

2009-12-02 15:45:04

PHP抓取天氣預報

2020-02-11 20:00:29

開源開源工具天氣預報

2018-01-29 11:25:37

LinuxASCII 字符天氣預報

2012-07-16 13:36:54

交換機數據中心核心交換機氣象衛星

2023-10-27 16:15:35

鴻蒙天氣服務功能

2015-10-19 17:16:10

天氣預報命令行Linux

2009-08-26 16:59:44

Web Service

2009-04-17 17:11:18

ASP.NET新浪天氣

2020-01-16 15:13:40

AI預測天氣預報

2022-02-21 15:07:48

氣象學人工智能AI

2019-10-25 19:42:41

華為
點贊
收藏

51CTO技術棧公眾號

欧美另类z0zxhd电影| 久久久久久久综合狠狠综合| 欧美高清视频在线播放| 色综合久久五月| 国产欧美一区二区三区精品酒店| 国产日本一区二区| 亚洲自拍偷拍第一页| 日韩欧美三级在线观看| 国产不卡一二三区| 日韩写真欧美这视频| 欧美亚洲另类色图| 国产黄色小视频在线| 99麻豆久久久国产精品免费优播| 国产福利精品av综合导导航| 400部精品国偷自产在线观看| 国产v片在线观看| 国产亚洲在线| 久久av在线看| aaaaa级少妇高潮大片免费看| 日本一区二区三区中文字幕| 亚洲一区二区不卡免费| 色一情一区二区三区四区| www.爱爱.com| 日韩专区在线视频| 97久久伊人激情网| 中文字幕剧情在线观看| 免费在线小视频| 1区2区3区精品视频| 久久久99爱| 国产福利视频导航| 蜜臀久久久久久久| 91av在线看| 久久午夜无码鲁丝片| 日韩一区二区中文| 一区二区三欧美| 黄色录像a级片| 国产福利资源一区| 欧美一区二区三区思思人| 欧美特级aaa| 成人性生活视频| 精品久久久久人成| 久操网在线观看| 丰满大乳少妇在线观看网站| 亚洲色图欧美在线| 一区二区三区四区五区精品 | 欧美福利第一页| 极品尤物一区| 精品国产一区二区三区不卡| 亚洲天堂av一区二区三区| 成人做爰视频www| 欧美性生活大片免费观看网址| 成人免费性视频| 日本高清在线观看视频| 亚洲精选视频在线| 国产成人免费高清视频| 麻豆网站在线| 亚洲人成人一区二区在线观看| 一本久久a久久精品vr综合| 成年人视频在线看| 欧美经典三级视频一区二区三区| 日韩av一区二区三区美女毛片| 精品亚洲综合| 国产偷国产偷亚洲高清人白洁| 鲁鲁狠狠狠7777一区二区| 日韩精品系列| 久久精品一区二区三区不卡牛牛| 色狠狠久久av五月综合| eeuss影院在线观看| 国产精品久久看| 1区1区3区4区产品乱码芒果精品| 97超碰人人草| 国产中文字幕一区| 444亚洲人体| 日本免费网站在线观看| a亚洲天堂av| 日韩av一区二区三区在线观看 | 久久久伦理片| 亚洲免费视频观看| 永久免费观看片现看| 五月天综合网站| 色综合久久88| 五月天婷婷导航| 强制捆绑调教一区二区| 91免费在线视频网站| 黑人操亚洲女人| 91论坛在线播放| 制服诱惑一区| 1024在线看片你懂得| 日韩欧美国产黄色| www.国产视频.com| 99精品国产一区二区三区2021| 日韩av在线直播| 奇米网一区二区| 欧美+日本+国产+在线a∨观看| 性欧美xxxx视频在线观看| 中文字幕日韩免费| 国产精一区二区三区| 精品欧美国产一区二区三区不卡| av在线免费观看网站| 夜夜嗨av一区二区三区中文字幕| 人妻内射一区二区在线视频 | 激情欧美一区二区三区中文字幕| 韩国中文免费在线视频| 亚洲免费av在线| 欧美日韩亚洲第一| 精品视频在线观看免费观看| 亚洲毛片在线观看| 午夜少妇久久久久久久久| 久久成人在线| 97人人模人人爽人人少妇| 国产中文字幕在线视频| 婷婷开心激情综合| 两性午夜免费视频| 成人在线一区| 欧洲成人免费aa| www黄色网址| 国产精品嫩草影院com| 91九色在线观看视频| 久久影院一区二区三区| 中文字幕亚洲综合久久| 国产高清中文字幕| 粉嫩av一区二区三区| 日本福利一区二区三区| 麻豆mv在线观看| 精品国产乱码久久久久久影片| 狂野欧美性猛交| 久久精品女人| 久久国产精品 国产精品| 日本在线视频www鲁啊鲁| 欧美日韩精品一区二区三区四区 | 欧美日本久久| 国产精品美女主播| 欧美大片aaa| 香蕉影视欧美成人| 又大又长粗又爽又黄少妇视频| 欧美综合一区| 国产极品精品在线观看| 无码国产色欲xxxx视频| 亚洲线精品一区二区三区 | 久久久久久爱| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 久久精品色播| 国语自产精品视频在线看一大j8| www.日韩高清| 亚洲欧美国产77777| 久久久久久久久久久久久久久国产| av亚洲在线观看| 日韩av观看网址| 免费成人av电影| 色综合久久久久综合99| 极品人妻一区二区三区| 国产农村妇女精品一区二区| 精品久久久久久综合日本| 91美女精品| 日韩电影中文字幕在线观看| 国产成人无码精品亚洲| 91麻豆精品一区二区三区| 久久无码高潮喷水| 国产一区99| 国产精品一香蕉国产线看观看| 日韩在线资源| 欧美人与禽zozo性伦| 神马午夜精品91| 国产成人一级电影| 妞干网在线视频观看| 亚洲老女人视频免费| 日产日韩在线亚洲欧美| 神宫寺奈绪一区二区三区| 亚洲天堂av一区| 天天摸天天舔天天操| 91精品动漫在线观看| 成人免费大片黄在线播放| 91av资源在线| 日韩一区二区免费高清| 天天操天天爽天天干| 国产三级一区二区三区| 天天视频天天爽| 欧美激情aⅴ一区二区三区| 久久精品99| 国产精品亚洲成在人线| 欧美精品免费视频| 三级影片在线看| 99久久婷婷国产| 久久精品视频91| 亚洲精品一区二区妖精| 黑人另类av| 成人午夜在线| 欧美激情亚洲视频| 国产区高清在线| 日韩天堂在线观看| 日本a级c片免费看三区| 自拍偷拍国产亚洲| 亚洲欧美日本一区| 精品一区二区久久| 日韩a∨精品日韩在线观看| av中文一区| 成人动漫视频在线观看完整版| 三上悠亚国产精品一区二区三区| 久热国产精品视频| 你懂的在线观看视频网站| 欧美一区二区三区免费视频| 日本在线播放视频| 一区二区三区欧美亚洲| 一区二区三区在线观看免费视频| 国产成人av电影在线播放| 黑人粗进入欧美aaaaa| 电影一区二区在线观看| 日韩免费视频在线观看| 欧美xxx黑人xxx水蜜桃| 在线中文字幕日韩| 色鬼7777久久| 欧美sm美女调教| 亚洲一区二区三区高清视频| 欧美性xxxxxx| 久久精品视频日本| 中文字幕亚洲精品在线观看| 黄色aaa视频| 不卡的av中国片| 欧美一区二区三区婷婷月色| 日韩免费三级| 超碰地址久久| 91中文字幕在线| 成人黄色免费观看| 热久久这里只有| 97蜜桃久久| 最好看的2019年中文视频| 日本国产在线| 亚洲精品美女网站| 亚洲精品视频网| 欧美一区二区高清| 一级黄色录像大片| 欧美性大战久久| 亚洲 欧美 成人| 黄色精品一区二区| 亚洲一区欧美在线| 亚洲高清免费一级二级三级| 亚洲欧美天堂在线| 三级不卡在线观看| 免费在线激情视频| 亚洲在线一区| 97av视频在线观看| 亚洲尤物在线| 免费看一级大黄情大片| 影音先锋一区| wwwwww欧美| 欧美日韩91| 久草免费福利在线| 日韩午夜在线电影| 亚洲人成无码网站久久99热国产 | 26uuuu精品一区二区| 911亚洲精选| 本田岬高潮一区二区三区| 最新版天堂资源在线| 成人精品视频一区二区三区尤物| 亚洲免费观看在线| 成人黄色一级视频| 国产不卡一二三| 久久综合九色综合97_久久久| 性久久久久久久久久| 26uuu国产电影一区二区| 欧美做受xxxxxⅹ性视频| 国产精品全国免费观看高清| 日本一级片免费| 亚洲精选免费视频| 免费一级特黄特色大片| 欧美日韩久久久久| 波多野结衣啪啪| 欧美日韩一区成人| 国产999久久久| 亚洲精品一线二线三线无人区| 殴美一级特黄aaaaaa| 亚洲欧美日韩精品| av女优在线| 欧美大片在线影院| 忘忧草在线影院两性视频| 国产精品久久久久999| 亚洲国产aⅴ精品一区二区三区| 91嫩草免费看| 亚洲成在人线免费观看| 亚洲欧美久久234| 欧美视频导航| 日韩一级在线免费观看| 激情都市一区二区| 三级男人添奶爽爽爽视频| 国产欧美日本一区视频| 美女毛片在线观看| 91国产丝袜在线播放| 国产又粗又黄又爽的视频| 亚洲第一男人av| h视频在线观看免费| 欧美精品18videos性欧| 亚洲日本网址| 91沈先生播放一区二区| 视频国产一区| 免费网站永久免费观看| 日本 国产 欧美色综合| 成人午夜精品无码区| 日韩一区中文字幕| 黄色免费av网站| 日韩欧美激情四射| yiren22综合网成人| 国模精品视频一区二区| 青草综合视频| 免费99视频| 精品白丝av| 免费网站在线观看黄| 久久久久久亚洲综合影院红桃| 老湿机69福利| 欧洲精品在线观看| 熟妇高潮一区二区三区| 欧美精品一二区| 日本成人在线网站| 日本一区二区三区免费观看| 在线免费观看欧美| 91精品国产三级| 中文av字幕一区| 午夜精品一区二| 精品视频www| 17videosex性欧美| 电影午夜精品一区二区三区| 99久久精品费精品国产| 欧洲av无码放荡人妇网站| 成人性生交大合| 免费中文字幕视频| 4438x亚洲最大成人网| 国产高清在线| 国产suv精品一区二区| 奇米777国产一区国产二区| 潘金莲一级淫片aaaaa免费看| 麻豆国产欧美一区二区三区| 亚洲а∨天堂久久精品2021| 欧美日韩综合视频网址| 人人妻人人澡人人爽久久av| 久久夜色精品亚洲噜噜国产mv| 国产福利亚洲| 亚洲午夜精品一区二区三区| 日韩电影在线观看电影| 免费看黄色的视频| 大伊人狠狠躁夜夜躁av一区| 天天操天天射天天舔| 久久人人爽人人爽人人片av高清| 亚洲视频国产| 色哟哟免费网站| 国产不卡在线播放| 国产稀缺真实呦乱在线| 亚洲成人亚洲激情| 都市激情国产精品| 精品国产91亚洲一区二区三区www 精品国产_亚洲人成在线 | 精品久久久无码人妻字幂| 韩国女主播成人在线观看| 色偷偷www8888| 91精品国产色综合久久ai换脸 | 精品色999| 一区二区三区网址| 中文字幕亚洲一区二区av在线| 一道本在线视频| 欧美成人第一页| 极品束缚调教一区二区网站| 欧美牲交a欧美牲交| 国产调教视频一区| 亚洲一级视频在线观看| 九九精品在线播放| 成人黄色av网址| 97国产在线播放| 久久久不卡网国产精品二区| 中文字幕在线网址| 久久九九免费视频| 91精品日本| av天堂永久资源网| 中文字幕在线一区二区三区| 国产黄色一级大片| 91国产美女在线观看| 精品国产乱码| 午夜精品免费看| 亚洲综合免费观看高清完整版| 五月婷婷六月色| 国产精品欧美一区二区三区奶水| 一区二区免费不卡在线| 一边摸一边做爽的视频17国产| 91久久免费观看| 97超碰资源站在线观看| 久久久久网址| 国产综合色精品一区二区三区| 国产无码精品一区二区| 一区二区三区视频免费| 韩国三级成人在线| 国内外成人激情视频| 中文字幕在线不卡一区| 三级网站在线看| 国产在线视频91| 国产精品永久| 日韩成人短视频| 国产丝袜精品视频| 999精品视频在线观看| 波多野结衣乳巨码无在线| 中文字幕亚洲在| 国产在线你懂得| 国产另类自拍| 理论电影国产精品| 性无码专区无码|