欧美日韩亚-欧美日韩亚州在线-欧美日韩亚洲-欧美日韩亚洲第一区-欧美日韩亚洲二区在线-欧美日韩亚洲高清精品

金喜正规买球

Dojo Data Store——統一數據訪問接口

轉帖|其它|編輯:郝浩|2011-03-18 14:50:32.000|閱讀 588 次

概述:本文的目的就是為了介紹Dojo的數據處理模塊:Dojo.data。作為Dojo的數據處理中間層,其主要的職責就是解析及管理由數據源傳入的各種類型的數據,通過統一的數據訪問與處理接口與數據展現層(Dojo Widget)進行通訊,便于各個Widget的管理與程序的移植。

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

  無論在傳統的桌面應用還是在主流的互聯網應用中,數據始終占據著軟件應用中的核心地位。當下,web2.0已經是一個讓人們耳熟能詳的詞匯,而由此帶來的數據的開放與共享,引領我們走入了海量數據時代。在今天的互聯網上,數據的交互幾乎成為了我們的終極訴求,可隨之而來的數據多樣性,信息的分布式存儲及松耦合,以及數據量的幾何級規模的膨脹也帶來了數據組織上的難度的增大,與此同時,伴隨著Ajax, RIA及面向服務的網絡應用的發展,其所要求的客戶端數據處理邏輯的復雜性不斷增加,使得開發難度不斷加大。

  出于簡化數據處理邏輯,增加應用的可維護及可擴展性的需求,目前流行的JavaScript框架也基本都會具有各自的數據處理模塊或接口。本文的目的就是為了介紹Dojo的數據處理模塊:Dojo.data。作為Dojo的數據處理中間層,其主要的職責就是解析及管理由數據源傳入的各種類型的數據,通過統一的數據訪問與處理接口與數據展現層(Dojo Widget)進行通訊,便于各個Widget的管理與程序的移植。

  Dojo Data中的數據管理

  在面向服務應用大行其道的今天,協調數據的多樣性是開發互聯網應用中不可避免的首要問題。我們常見的數據格式包括Json, XML, Csv等,作為數據處理的中間層,能夠讓用戶以統一的接口連接不同的數據源是一個基本需求。在Dojo.data模塊中,預定義了不同的DataStore用于訪問管理不同數據格式的數據源,而所有的DataStore都會實現相同的數據訪問接口,這樣就可以成功實現數據提供層與數據展現層之間的松耦合。表1中列出了Dojo中部分已實現的各種不同的DataStore。

  表1. Dojo中部分已實現的DataStore

DataStore 描述
dojo.data.ItemFileReadStore 用于JSON數據的只讀的DataStore
dojo.data.ItemFileWriteStore 用于JSON數據的可讀寫的DataStore
dojox.data.CsvStore 用于CVS數據的只讀的DataStore
dojox.data.OpmlStore 用于OPML(Outline Processor Markup Language)數據的只讀的DataStore
dojox.data.HtmlTableStore 用于HTML table數據的只讀的DataStore
dojox.data.XmlStore 用于XML數據的可讀寫的DataStore
dojox.data.FlickrStore 用于讀取flickr.com提供的數據的只讀的DataStore。是一個很好的web service相關的DataStore的示例
dojox.data.QueryReadStore 用于讀取由服務器端提供的JSON數據的只讀的DataStore

  盡管讀取的數據源多種多樣,但在DataStore中,通過統一數據訪問接口,對數據的組織管理是一致的。每條數據項都被作為一個item對象,其中包含了一定的鍵(attribute)值(value)對用以對應數據條目中的各個屬性值。下面以一段簡單的JSON數據片段為例,來介紹這種對應關系:

{
identifier: 'id',
label: 'name',
items: [
{ "id": "AF", "name":"Africa", "type":"continent",
"population":"900 million", "area": "30,221,532 sq km" },
{ "id": "AS", "name":"Asia", "type":"continent",
"population":"1 billion", "area": "25,428,192 sq km" }
]
}

  在這段JSON數據中共有兩條數據項(item),分別都包含有"id", "name", "type", "population"與"area"五個屬性字段。

  Dojo.data 組織架構

  為了符合各種應用中對數據中間層的不同需求,Dojo.data包對數據訪問處理接口進行了一定程度的劃分,包括 read,write,identify,notifaction 等。各種DataStore可以根據其應用需求實現特定的接口。

  表2. Dojo.data.api主要接口

Dojo.data主要接口 描述
Dojo.data.api.read 提供讀取數據項或者其屬性值的功能,同時也支持對數據集的搜索,排序,和過濾。
Dojo.data.api.write 提供創建,刪除,更新數據項功能。
Dojo.data.api.identify 提供基于唯一的標示符來定位和查詢數據項的功能。
Dojo.data.api.notification 提供當 datastore的數據項改變等事件發生時通知偵聽器的功能。最基本的事件包括數據的創建,修改和刪除等。這也是Dojo.data的一項很重要的功能,通過此接口可以將數據展現層與數據中間層更好的分離開來。

  Dojo.data API簡介

   Read

  數據的獲取是數據中間層的核心,Dojo.data.Read接口為異步獲取異構數據提供了很大的便利性和靈活性。在Read接口中,主要是通過異步方式進行數據的獲取,同時也提供了數據的排序、分頁、簡單查詢等基本功能的支持。

  fetch: function(/* Object */ keywordArgs)

  fetch方法可以說是Dojo.data包的核心方法,它主要采用異步方法來獲取數據。該方法接收一個鍵值對對象參數,用戶可以通過對此參數中各個屬性進行指定以獲取特定的數據集合,如分頁,簡單查詢過濾,排序等。以下是部分主要的參數屬性介紹:

  • onBegin與onComplete: fetch方法是采用異步的方式來進行數據的獲取,用戶可以通過onBegin與onComplete這兩個參數指定fetch方法的數據獲取回調函數,onBegin在數據返回前會被調用一次,傳入兩個參數,分別為應返回數據集的條目數及此次fetch的request對象;而onComplete方法是作為數據返回的回調函數,數據集作為第一個參數傳入給該回調函數。
  • start與count: 通常來說幾乎所有的實際應用都會要求分頁返回數據以提供更好的用戶體驗,start和count這兩個屬性就是為支持分頁功能而實現的。start用于指定返回數據的起始索引(由0開始),而count則用于設置返回的數據條目數。
  • query: 除了分頁以外,按需返回特定的數據集也是一項重要功能,在Dojo.data中,這一功能則是通過query屬性提供支持的。query的值一般可設置為一個鍵值對對象,“鍵”應被設置為數據條目中的某項屬性,而“值”則為條件指定。Dojo.data提供了精確匹配與模糊匹配(通配符:*為任意字符,?為單個字符)兩種方式對數據進行過濾,可以根據具體情況選擇使用。
  • sort:由于可能出現多個Widget使用同一個DataStore,數據集并不會以特定的序列進行存儲,當需要進行排序時,可以通過sort屬性進行指定,DataStore則會相應的返回符合條件的數據集。sort 參數不僅指定了要排序的字段,而且還必須指定排序的順序即升序還是降序。

dataStore.fetch({
// 設置獲取數據的起始位置
start: 0,
// 設置獲取數據的條目數
count: 25,
// 設置模糊過濾條件
query: {'name': *},
// 數據排序設定
sort: [{ attribute: 'name', descending: false }],
// 設置開始數據獲取的回調函數
onBegin: function(size, requestObj){...},
// 設置數據獲取完成后的回調函數
onComplete: function(items, requestObj){...},
// 設置數據獲取失敗后的回調函數
onError: function(error, requestObj){...}
});

  • getValue: function(/*item*/item, /*attribute-name-string*/attribute, /*value?*/ defaultValue)

    用于獲取某個給定的數據項的某個屬性值,如果該條數據不含有指定的屬性,則返回一個指定的默認值。item參數為給定的數據項,attribute參數為指定的屬性字段,defaultValue為可選參數。

    var value = dataStore.getValue(item, 'name', 'no name'); 
  • getAttributes: function(/* item */ item)

    獲取給定數據項的所有屬性字段,返回值為一個數組。

  Write

  Dojo.data.Wirte接口主要提供了數據的更新功能API,包括創建、刪除、更新數據。同 Read 接口類似,Write API 的設計目標也是屏蔽底層數據存儲格式的差異,為用戶提供統一的數據訪問 API。借助這些 API,用戶可以專注于業務層面的邏輯實現,而無需花費太多精力去關注底層數據的存儲格式。

  • newItem: function(/*Object?*/ keywordArgs, /*Object?*/ parentInfo)

    在DataStore中新創建一個數據項。第一個參數為一個鍵值對對象,用于設定新創建的數據項,第二個參數為可選參數,當用戶想將新創建的數據項作為某個已存在的數據項的子,則可以通過這個參數進行設定。具體應用請參照下面的小示例:

var euItem = {"id": "EU", "name":"Europe", "type":"continent", "children": [] }
// 新建數據項
dataStore.newItem(euItem);
// 新建子數據項
dataStore.newItem({"id": "GM", "name":"Germany", "type";:"country"}, {parent: euItem, attribute: "children"});

  • deleteItem: function(/*item*/ item)

    在DataStore中刪除指定的數據項。

  • setValue: function(/*item*/ item, /*string*/ attribute, /*almost anything*/value)

    更新某條給定數據項的某個屬性值。

  Notification

  當DataStore中有數據更新時,相應的Notification中定義的監聽函數就會被調用。使用過Dojo的讀者可 能都會注意到,在Widget中一般不會有new、delete等其他JavaScript庫控件中常見的API。這是因為Dojo data的設計是力求將數據層與表現層進行分割,對數據的操作都集中在數據層進行控制,而數據集的改變也能夠自動的在應用控件上進行反映,這一功能就是當DataStore在進行數據更新操作時,通過Notification接口的通知作用實現的。

  • onNew: function(/*item*/ newItem, /*object?*/ parentInfo)

    當DataStore中創建新數據項操作成功后被自動調用。newItem參數就是新創建的數據項對象,parentInfo是可選參數,用于描述新創建數據項的父數據項。

  • onDelete: function(/*item*/ deletedItem)

    當DataStore中刪除某項數據項后被自動調用。deletedItem參數就是被刪除的數據項對象。

  • onSet: function(/*item*/ item, /*attribute-name-string*/ attribute, /*object | array*/ oldValue, /*object | array*/ newValue)

    在DataStore的某項數據項被更新后進行調用。四個參數分別為數據項對象,被更新數據項屬性,該數據的原有值以及更新后的值。

  Identify

  很多數據源都會為數據提供唯一的標識符,Dojo.data.Identify接口則提供了基于唯一標識符進行數據獲取定位的API支持。

  • fetchItemByIdentity: function(/*object*/ keywordArgs)

    同Read接口中的fetch方法類似,此方法也是一個異步方法,用戶需要在參數對象中指定數據項獲取后的回調處理函數。keywordArgs參數是一個鍵值對對象,主要需要包括兩個屬性,一個是要進行指定獲取的數據項標識符identify,另一個則是回調處理函數onItem。在指定identify的數據項獲取成功后,onItem回調函數則會被自動調用,以處理后續操作。

dataStore.fetchItemByIdentity({
// 指定要進行獲取的數據項的id
identity: "AS",
// 設定數據返回后的回調函數
onItem: function(item){…},
// 設定錯誤回調函數
onError: function(error){…}
});

  • getIdentity: function(/*item */ item)

    此方法用于獲取給定數據項的標識符。

  DataStore應用

  一般來說,Dijit中的各個小部件都提供了對DataStore的支持,當我們在使用某個Widget來進行數據展現時,通常我們只需要根據數據源的格式類型來選擇好DataStore,然后在Widget聲明中對DataStore進行指定就可以了。下面我們就通過DataGrid及ComboBox作為數據展現UI,基于不同的數據格式為它們設置不同的DataStore。

  以下是一份JSON數據:

data = {
identifier: 'id',
label: 'name',
items: [
{ "id": "AF", "name":"Africa", "type":"continent",
"population":"900 million", "area": "30,221,532 sq km" },
{ "id": "AS", "name":"Asia", "type":"continent",
"population":"1 billion", "area": "25,428,192 sq km" },
{ "id": "OC", "name":"Oceania", "type":"continent",
"population":"21 million", "area": "15,928,294 sq km" },
{ "id": "EU", "name":"Europe", "type":"continent",
"population":"56 million", "area": "25,928,294 sq km" },
{ "id": "NA", "name":"North America", "type":"continent",
"population":"100 million", "area": "90,928,294 sq km" },
{ "id": "SA", "name":"South America", "type":"continent",
"population":"102 million", "area": "78,928,294 sq km" },
{ "id": "AN", "name":"Antarctica", "type":"continent",
"population":"998", "area": "102,928,294 sq km" }
]};

在這里,我們采用比較簡單的dojo.data.ItemFileReadStore:

  var jsonStore =new dojo.data.ItemFileReadStore({data: data});

  ItemFileReadStore比較適合于處理數據量較小的數據源,數據源可以是一個JSON文件或者象本例一樣直接指定到客戶端內存中的一組數據。當你使用更加大型的JSON數據集時,可以使用JsonRestStore,采用Rest服務來進行數據提供。

  接下來,我們來聲明一個DataGrid。在這里DataStore是通過”store”屬性進行設置的。

<table jsid="grid" store="jsonStore" query="{name:’*'}" dojoType="dojox.grid.DataGrid" class="grid">
<thead>
<tr>
<th field="name" width="auto">Name</th>
<th field="population" width="auto">Population</th>
<th field="area" width="auto">Area</th>
</tr>
</thead>
</table>

生成的DataGrid如下圖所示:

  由于Dojo中對數據展現層與數據中間層的松耦合,同樣一份數據源可以在不進行任何處理的情況下為多個Widget提供數據,而且由于數據的過濾、排序、分頁都是根據數據獲取請求按需返回的,使用相同 DataStore的多個Widget間也不會產生沖突。下面我們就以同樣的DataStore,為一個dijit.form.ComboBox提供數據:

<input dojoType="dijit.form.ComboBox" store="jsonStore" searchAttr="name";><;/input>

  在很多實際應用中,可能會使用不同的數據源,下面,我們采用不同的數據格式,以XmlStore來替換ItemFileReadStore。首先將JSON數據轉換為XML數據格式:

<continents>
<continent>
<name>Africa</name>
<population>900 million</population>
<area>30,221,532 sq km</area>
</continent>
<continent>
<name>Asia</name>
<population>1 billion</population>
<area>25,428,192 sq km</area>
</continent>
<continent>
<name>Oceania</name>
<population>21 million</population>
<area>15,928,294 sq km</area>
</continent>
<continent>
<name>Europe</name>
<population>56 million</population>
<area>25,928,294 sq km</area>
</continent>
<continent>
<name>North America</name>
<population>100 million</population>
<area>90,928,294 sq km</area>
</continent>
<continent>
<name>South America</name>
<population>102 million</population>
<area>78,928,294 sq km</area>
</continent>
<continent>
<name>Antarctica</name>
<population>998</population>
<area>102,928,294 sq km</area>
</continent>
</continents>

  XmlStore是一個客戶端的數據存儲器,用于讀取XML數據源。它由Dojo官方提供并包含在DojoX子項目中。XmlStore為基本的XML數據(一種常用的數據交換格式)提供讀/寫接口。XmlStore可以用于一般的XML文檔,因此非常有用。存儲器的設計是你可以通過覆蓋其部分方法來自定義讀/寫數據的行為。下面的示例給出了如何創建XmlStore并將其應用到Grid及ComboBox中:

var xmlStore =new dojox.data.XmlStore({
url: ‘continents.xml’,
label: ‘name’
});

<table jsid="grid" store="xmlStore" dojoType="dojox.grid.DataGrid"class="grid">
<thead>
<tr>
<th field="name" width="auto">Name</th>
<th field="population" width="auto">Population</th>
<th field="area" width="auto">Area</th>
</tr>
</thead>
</table>

<input dojoType=&quot;dijit.form.ComboBox" store="xmlStore" searchAttr="name">

  我們幾乎不需要修改關于Grid和ComboBox的任何代碼,就能讓它們繼續工作。唯一需要做的改動,就是聲明一個數據源,并將它設置為grid的輸入。我們不需要操心任何關于數據獲取、解析、以及管理的事情,數據存儲器的API做了所有的工作。

  可以看出,作為數據中間層,Dojo.data通過優秀的API設計充分達成了數據展現層與數據管理層之間的松耦合,同時統一的數據訪問接口使得對多種數據格式的應用以及程序移植都帶來了相當大的便利性。

 

 

 

 

 


標簽:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn

文章轉載自:InfoQ

為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
欧美日韩国产这里只有精品 | 精品一区二区三区视频在线 | 亚洲国产主播不 | 日本女优中文字幕 | 国产精品露脸国语对白99 | 色老头在线永久免费视频 | 国产精品自拍91 | 日本中文字幕网址 | 中文文字 | 国产经典 | 另类在线观看 | 国产吹潮在线观看中文 | 国产亚洲精品不卡 | 久99精| 国产精品乱码一区二区视频 | 免费观看最新电影和热门影视剧 | 亚洲偷自拍拍综合网 | 国产精品专区第5页 | 自拍偷亚洲成在线观看 | 91精品国产aⅴ一区二区 | 欧美+日韩+免费 | 日本一区二区精品免费 | 2025国产精品最新在线 | 国产又黄又猛又粗又爽的a 羞羞影视 | 欧美欧美日韩综合一区天 | 亚洲日本影院在线 | 区三区在线 | 精品国精品国产自在久国产 | 久精品国产欧美亚洲色a大片 | 亚洲综合图 | 日本中文字幕第 | 日本宅男午夜免费永久网站 | 夜夜揉揉日 | 日产精品一卡2卡三卡4卡乱码 | 一区二区三区四区日韩 | 日本大香伊蕉一区二区 | 国语自产偷拍精品视频偷 | 国产欧洲青草依依 | 色综合中文字幕色综合激情 | 日韩欧美亚洲一中文字暮 | 亚洲欧洲日产国码农村 | 收集最新中文国产中文字幕 | 激情欧美日韩一区二区 | 日韩无砖专 | 国产sm重味一区二区三区 | 五十路○の豊満な肉体 | 亚洲天天更新 | 欧美亚洲日本另类图区 | 亚洲日本va中文字幕 | 色护士极品影院 | 欧美一级特黄aaa大片在线观看 | 亚洲一区精品在线视频 | 国产丶欧美丶日本不卡 | 欧美日韩精品一区二区在线观看 | 午夜电影免费在线观看 | 中文字幕日韩高清 | 成年免费大片黄在线观看一 | 亚洲欧洲日韩国产一区二区三区 | a∨中文字幕另类 | 成人免费播放 | 国产不卡视频一区二区三区 | 欧美激情国产日韩 | 91精品国产自产在线观看永久 | 合肥设计师网 | 全黄性性激高免费视频 | 天堂va视频一 | 日本最新高清不卡一区二区 | 精品高清美女精品国产区 | 亚洲超清在线 | 日本伊人色综合网 | 亚洲欧美日本国产—区二区三区 | 在线天堂资源www在线中文 | 国产欧美日韩综合视频专区 | 亚洲日本va中文字幕 | 国产女女| 国产亚洲综合区成 | 日韩国产免费一区二区三区 | 网站资源多午夜激情影院 | 在线观看视频导 | 亚洲人成人一区二区三区 | 日韩欧美中文字幕在线视频 | 国产精品97| 在线视频一区二区三区三区不卡 | 免费国产一级a | 国产精品亚洲а∨天堂2025 | 女生殖器| 日韩精品欧美一区喷 | 欧美日韩亚洲国产精品 | 国产欧美日韩精品综合第一区 | 极品国产一区二区三 | 亚洲欧洲精品视频 | 国产资源精品一区二区免费 | 亚洲欧洲日韩综合色天使 | 香蕉影视 | 三级高清在线 | 亚洲日本一区二区一本一道 | 日韩一区二区免费视频 | 亚洲欧美大片在线观看 | 亚洲精品五码 | 国产精品亚洲一区二区在线观看 | 日皮免费视频 | 国产午夜免费视频 | 99在线热播| 中文字幕乱老妇 | 国产91色在线中文电影 | 99热门精品一区二区三区无 | 免费动漫成本人视频网站 | 欧美v日韩v亚洲v最新在线观看 | 日韩一区精品视频一区二区 | 亚洲国产精品91 | 91区国产福利在线观看午夜 | 色综合伊人色综合网站 | 日本不卡一区二区三区视频 | 91精选国产大片 | 亚洲人妖女同在线播放 | 日本中文字幕专区视频在线 | 一区二区三区四区电影 | 一区二区三区四区在线观看视频 | 91免费公开视频 | 免费国产在线观看 | 又粗又大又黄又硬高清视频 | 91高清国产在线观看 | 为您呈现最新最热的电影力作 | 国产中文字幕玖玖观看互动交流 | 亚洲高清不卡 | 亚洲一区二区三区高清视频 | 亚洲综合一区二区三区 | 亚洲精品在看在线观看高清 | 日本69sex护士 | 野花免费观看日本一个电影 | 91夫妻论坛| 91碰碰视频 | 国产乱ⅴ一区二区三区 | 日本aⅴ精品一区二区三区日 | 亚州图片| 97公开视频 | 亚州精品永久观看视频 | 亚洲精品久荜中文字幕 | 成人看片在线观看免费 | 91国偷自产中文字幕婷婷 | 国产精品一区二区 | 国精产品一区二区三区四区糖心 | 91大神| 亚洲成脛∨人片在线观看福利 | 亚洲处破女 | 网站国产| 日韩欧美一区二区三区视频在线 | 四库国产精品成人 | 国产网址| 国产区女主播在线观看 | 亚洲中文字幕乱码熟女在线 | 在线视频精品免费 | 啊日本一区二 | 国产中文字幕永久 | 亚洲三区在| 97高清国语自产拍 | 国产aaa一区二区三区 | 国产亚洲一区二区三区在线 | 欧美精品亚洲日韩aⅴ | 天美传媒果冻传媒国产电影 | 免费无毒a网站在线观看 | a国产片免费看视频 | 婷婷六月亚洲中文字幕不卡 | 一本大道东 | 日本不卡一区二区三区视频 | 欧美亚洲丝袜制服中文 | 国产91在 | 成人拍拍| 精品一区二区三区在线 | 夜鲁鲁鲁夜夜综合视频欧美 | 国产aⅴ视频免费观看国语 91大神在线视频免费观看 | 国产女人喷潮视频在线观看免费 | 亚洲人成网站观看在线播放 | 永久免费老妇女 | 亚洲国产一区二区试看 | 免费网站看v片在线爱的影院 | 国产在线观看美女福利精 | 欧美亚洲综合成人专区 | 日本系列1 | 九九在线精品观看 | 国产乱理伦片在线观看夜 | 最新在线观看视频国产91 | 国产精品任我爽爆在线播放 | 国产小视频福利在线观看高清完整 | 91精品视频免费在线观看 | 中文字幕欧美日本亚洲 | 高清在线午夜一区二区亚洲 | 国产一区二区视频 | 亚洲日韩视频高清 | 国产一级按摩精油电影 | 少女韩国在线观看完整版免费 | 国产青草精 | 国内激情视频 | 亚洲综合电影小说图片区 | 2025年最新国产精品正在播放 | 欢迎观看网站影片亚 | 三三电影网 | 美女裸身网站免费看免费网站 | 欧美日韩国产精品二区在线观看 | 在线精品亚洲一区二区绿巨人 | 青青草国产精品视频 | 日韩精品在线第一页 | 中文字幕一区二 | 一区二区日韩激情综合网 | 国产精品午夜爽爽爽免费 | 欧美精品网站在 | 一级特黄录像免费播放中文 | 精品日韩欧美在 | 99在线精品免费视频九九视 | 国产精品日韩欧美一区2区3区 | 亚洲人成网国产最新在线 | 欧洲亚洲一区二区三区 | 亚洲经典在线中文字幕 | 91短视频在线观看 | 日韩亚洲制服欧美综合 | 免费看一级特黄a大片 | 在线播放成人高 | 亚洲一二三四中文字幕 | 国产最新一区二区三区天堂 | 另类在线观看 | 国产一区二区色婬影院 | 国产视频精品免费 | 亚洲动作一 | 精品国产乱码 | 福利导航| 国产精品视频第一区二区三区 | 夜色福利美女曝乳视频 | 国产亚韩欧美联合在线 | 国产福利免费视频 | 亚洲欧美日韩一区在线观看 | 综合精品欧美乱伦 | 免费国产91欧美va一区二区 | 国产精品欧美视频另类专区 | 午夜三级三级三点在线 | 91精品啪在线观看国产色 | 国产免费不卡一区在线视频 | 韩国日本三级在线播放 | 免费国产a国产 | 国产欧美日韩精品在线观看 | 精品成人一区二区三区免费视频 | 国产精品自在线免费 | 九九热在线免费观看 | 一二区成 | 后进极品翘臀在线播放 | 秋霞特一级 | 欧美国产高清欧美 | 99精品全国免费观看视频 | 亚洲欧美日韩中文国产不卡 | 国产欧美国日产在线播放 | 日本免费在线观看视频 | 亚洲和欧洲一码二码区别在 | 亚洲精品综合在线影院 | 欧美日韩不 | 国产乱人视频在线观看播放1 | 在线观看一二三四区 | 成人污污污www网站免费丝瓜 | 亚洲欧美综合色区 | 成年做羞羞的视频 | 丝瓜影院首页 | 亚洲国产变态另类天堂 | 精品国产福利第一区二区三区 | 色五月播五月开心五月激 | 亚洲变态 | 亚洲精品一本四区91 | 亚洲偷偷自拍高清 | 国产91精品露脸国语对白 | 国产欧美日韩va另类在线播放 | 国产精品成人亚发布 | 国产精品免费一区二区三区四区 | 亚洲自偷自拍另类第1页 | 国自产拍在线视频天 | 免费国产乱理伦片在线观看 | 丝袜线观看 | 野花香视频免费观看高清在线 | 五月天婷婷丁香中文字幕 | 强开女学生的小嫩苞 | 亚洲人成高清在线播放 | 男人花免费观看视频在线观看 | 电家庭影院午夜 | 欧美xx在线| 国产精品视频全国免费观看 | 国产精品亚洲午夜一区二区三区 | 2025精品久| a亚洲欧美日韩在线观看 | 亚洲视频网站在线观看 | 性欧美暴力猛交6 | 精品国产柚木在线 | 人人综合亚洲 | 日韩精品欧美激情亚洲综合 | 亚洲国产精品va在线看黑人 | 国产日本欧美在线观看 | 日韩欧美国产精品 | 国产+日韩+另类+视频一区爱 | 日韩精品一区二区三区观看 | 成人影片一区免费观看 | 99香蕉国产线观看免费 | 国产精品66福利在线观看 | 字幕乱码一二三四 | 国产香蕉人在线播放视频网站 | 亚洲欧美中文日韩v在线观看 | 探花视频在线 | 欧美亚洲国产激情一区二区 | 国产精品综合色区在线 | 草草精品在线视频 | 欧美性色欧美a在线播放 | 国产精品成人观看视频 | 午夜国产精品电影在线观看一区 | 99精品欧美一区二 | 人摸人爱视频 | 在线观看亚洲精品一区二区 | 日韩欧美精品国产亚洲综合 | 日产亚洲一卡2卡3卡4卡网站 | 国产黄在线观看免费观看不卡 | 91福利免费体验区观看区 | 玩两个丰 | 2025精品国夜夜天天拍 | 亚洲国产高清视 | 国产一区日韩 | 八戒八戒在线资源网 | 国产亚洲精品影视在线产品 | 国产资源精品一区二区免费 | 网友自拍露脸国语对白 | 免费播放婬乱男女婬视频国 | 国产91视频网 | 日韩妇女成人 | 国产欧美日韩精品综合 | 青春草在线视频免费观看 | 99精品欧美| 国产精品熟女视频一区二区 | xxxx国产| 国产精品福利自产拍在线观看 | 欧美激情视频在线播放 | 日韩在线一区二区三区观看 | 57pao视频国产在线观看 | 精品一线二线三线区别在哪欧美 | 香蕉久人久人青草青草 | 五月天婷五月天 | 一区二区三区亚洲综合 | 免费人成再在线观看网站 | 大吊干逼视频 | 国产欧美va天堂在线电 | 亚洲日本在线免费看 | 国产自产21区最新资源 | 国产自在现偷国产精品国产日韩 | 国产+欧美+激情 | 国产一区二区不卡 | 亚洲精品中文字幕字幕 | 国产精品进线69影院在线 | 岛国大片 | 91香蕉污app在线下 | 日本不卡中文字 | 国产探花在线播放 | 69精品人人人人人人人人人 | 2025亚洲欧美日韩在线观看 | 在线精品国 | 日韩精品高清在线 | 亚洲欧美日韩国产综合在线看片 | 色老板精品视频在线观看 | 天美传媒在线观看果 | 亚洲一区二区三区在线观看网站 | 国产一区二区三区在线观看免费 | 国产欧美日韩另类精彩视频 | 一本大道 | 国产亚洲欧美日韩精品一区二区 | 亚洲人成网站观看在线播放 | 国产亚洲精品激情都市 | 精品亚洲日韩国产一二三区 | 国产又粗又猛又爽又黄 | 亚洲综合另类小说色区一 | 国精品日韩欧美一区二区三区 | 国产v视频在线亚洲视频 | 专区一乛方 | 免费人成网址在线观看国内 | 日本高清视频一区二区 | 亚洲制服丝袜在线 | 日韩成人激情影院 | 亚洲国产的精品太乱码一区二区 | 91视频网| 给我免费观看片在线观看中国 | 国产美女一级a视频欧洲 | 米奇影院888奇米色99在线 | 成人a网站| 中文字幕乱码亚洲无线三区 | 欧美亚洲中日韩中文字幕在线 | 国内精品卡一卡二卡三 | 中文精品免费视频 | 国产一区日韩一区二区三区 | 亚自拍洲自拍1页 | 色涩网站在线 | 偷妇激情www色色五月丁香婷 | 丝袜国产精品视频二区 | 妖精视频 | 国产偷窥女洗浴在线观看亚洲 | 亚洲欧洲国产视频 | 最新热门高清电影 | 欧美又大粗又爽又黄大片视 | 国产精品一区二区三 | 欧美a级情欲片手机在线播放 | 91李宗精品72集| 91大神在线视频免费观看 | 色吊丝中文字幕 | 日韩经典视频 | 国产婷婷综合在线精品尤物 | 国产盗摄xxxx视频xxxx | 亚洲色精品三区二区一区 | 91tv最新永久在线地址 | 美女视频在线永久免费观看 | 国产高清在线视频伊甸园 | 日日夜夜 | 欧美疯狂 | 日本一区中文字幕免费 | 这里只有精品在线视频 | 亚洲风情亚aⅴ在线发布 | 午夜福利体验免费体验区 | 日韩精品区 | 国产精选在线观 | 丝袜亚洲精品中文字幕二区 | 国产乱码一区二区三 | 亚洲伊人色综合www962 | 日本免费一区二区视频 | 免费精品国偷自产在线青年 | 23部人禽伦 | 一级特黄aaa大片在线观看视频 | 色香欲综合成人免费视频 | 图片区乱小说区电影区 | 亚洲欧美国产精品一区二区 | 国产一级视频免费看 | 亚洲网站视频在线观看 | 日韩精品免费在线观看 | 午夜国产福到在线 | а√天堂资 | 热播电视剧免费追剧 | 国产免费一区二区 | 最近中文字幕高清字幕在线视频 | 国产一区二区精品久电影 | 欧美精品国产日韩综合在线 | 国产自国产自愉自愉免费24区 | 91国内自产| 成年人网站 | 婷婷国产99在线观看 | 成人精品一区二区三区在线 | 日韩精品一区二区三区蜜桃 | 欧美另类69xxxx | 中文字幕不卡九十九区 | 国产高清一区二区在线免费观看 | 日本免费一区二区三区在线看 | 亚洲欧美精品一区二区三区四区 | ⅴa在线观看 | 欧美午夜性刺激在线观看免费 | 国产专区欧美专区在线观看 | 日韩国产在线观看第1页 | 日韩中文字幕高清在线 | 桃色在线观看 | 羞羞视频免费看网站 | 一区二区视频在线观看入口 | 亚洲一线产区二线产区精华 | 日韩精品一区二区三区中文字幕 | 欧美综合精品一区二区二 | 宅男午夜成年影视在线观看 | 国内精品视频一区二区在线观看 | 国产舌乚八伦偷品w中 | 高清影视电视剧在线观看 | 日本一本免费高清在线dvd | 成人午夜福利免费体验区 | 白白发布精品视频在线观看 | 在线亚洲欧洲日产一区2区 国产成本人三级在 | 日韩欧美在线视频一区二区 | 国产自偷酒店在线观看 | 日本精品一卡高清 | 成人乱码 | 国产综合中文字幕在线 | 欧美日韩在线观看区一二 | 一区二三国产好的精华液 | 亚洲欧美性综合在线 | 欧美黑人ⅹxxx猛交 日日狠狠 | 大地资源网最新在线播放 | 国产亚洲精品ae86 | 天天射网| 欧美变态口味重另类在线视频 | 欧美日韩亚洲国内一区二区三区 | 日本国产中文字幕 | 乱码一码二码三码四码狼人 | 亚洲中文欧美日韩在线 | 爱情岛亚洲论坛 | 秋霞伦理电影在线看 | 免费a级伦费影 | 在线精品视| 日韩国产欧美一区二区三区 | 天美麻花视频大全 | 成人看片黄a在线 | 91香蕉成人免费高清网站 | 国产一级高清在线 | h网站国 | 日韩在线视频一区二区 | 精品国产日韩无影视 | 欧美浓毛大泬视 | 国产乱码1卡二卡3卡四卡 | 亚洲国产综合精品一区 | 精品国产免费人成电影在线观看 | 国产极品视频一区二区三区 | 亚洲成a人片在 | 国产精品一级国产精品片 | 亚洲免费在线国产视频午夜精 | 国产男生夜间福利免费网站 | 中字幕视频在线永久在线 | 99热国产在线播放只有精品 | 午夜成人爽爽爽视频在线观看免费 | 亚洲精品视频免费观看 | 国产一级视频播放 | 欧美午夜在线 | 国产乱人视频免费观看 | 在线观看国产h视频 | 国产精品制服高跟 | 亚洲日产在线播 | 国产人妖在线播放网址 | 97碰碰碰成年免费视频s | 中文字幕欧美中日韩精品 | 中文字幕日韩欧美精品 | 九九视频精品全部免费播放 | 国产群p视频在线观看 | 亚洲人成中文字幕在 | 中文字幕在线观看亚洲 | 欧美日韩高清一区二区三区 | 国产女人喷潮免费视频 | 日韩一级在线观看 | 亚洲综合国产一区在线 | 国产精品视频全国免费观看 | www成| 中文字幕一二区二三区 | 热播电视剧免费观看 | 成人三级视频在线观看不卡 | 两个人看| 91精品国产丝袜在线拍 | 国产黃色精品三級一区二区 | 18黑白丝 | 国产福利91精品一区二区 | 免费午夜拔丝袜 | 国产欧美亚洲三区久在线观看 | 国产精品激情欧美可乐视频 | 亚洲日本成本人观看 | 特种兵的又 | 亚洲国产日韩欧美视频二区 | 羞羞午夜 | 丰满岳乱妇在线观看中字无 | 观看视频在线观看 | 野花日本完 | 亚洲国产激情一区二区三区 | 在线观看亚洲一区二区三区 | 国产最新精品精品视频 | 成年女人黄小视频 | 精品国产柚木在线 | 正在播放一区二区 | 欧美日韩亚洲国产高清 | 夜鲁鲁鲁夜夜综合视频欧美 | 中文字幕亚洲日韩第一页 | 精品高清美女精品国产区 | 亚洲成综合人在线播放 | 荫蒂添的好舒服视频囗交 | 免费一级国产大片 | 国产亚洲精品国产福利在线观看 | 香蕉久人久人青草青草 | 在线中文字幕日韩 | 91啪在线视频 | 日本高清中文字幕一区二区三区 | 日本中文字幕乱码视频在线 | 亚洲成亚洲成网 | 国产拍偷精品网最新在线观 | 片老司机 | 老司机在线精品视频播放 | 国产一区二区三区欧美 | 天堂在线最新版资源 | 一二三四视频免 | 影音先锋教师波 | 日本91视频| 久青草国产在视频青草99在 | 欧美视频在线视频精品 | 国产高清美女主播在线观看 | 激情影院內射美女 | 在线观看91精品国产性色 | 午夜性色一区二区三区不卡视 | 国产鲁鲁视频在线观看 | 日日摸夜夜添欧美一区 | 日韩经典欧美一区二区三区 | 日韩中文字幕在线播放 | 日韩欧美中文 | 国产激情视频一区二区三区 | 国产黑色丝袜在线观看下 | 91精品国产免费自在线观看 | 高清一区二区三区视 | 动漫免费在| 亚洲精品在线免费 | 韩国理伦电影午夜三级 | 一级直接观看 | 中文字幕在线免费观看 | 97影院| 国产普通对白手机在线 | 欧美多人顶级午夜寂寞影院 | 高清午夜福利电影在线 | 亚洲精品国产品国语原创 | 加勒比一本大道香蕉大在线 | 亚洲欧美日本另类 | 99视频精品全部品全正 | 极品尤物一区二区 | 国产综合视频在线观看8 | 亚洲自偷自拍另类第1页 | 精品精品国产自 | 亚洲日产乱码一二三区别 | 免费观看视| 射射影院 | 欧美一区二区三区四区婷婷 | 青青草97国产精品免费观看 | 精品一区在线 | 露脸美女另类 | 亚洲精品免费视频 | 国产精品高清在线观看93 | 日本www视频在线观看 | 99热在| 国产精品不卡视频 | 五十路○の豊満な肉体 | 欧美日韩一区二区 | 亚洲国产区男人 | 88影视网免费的电视剧 | 日产一线 | 亚洲开心婷婷中文字幕 | aaa亚洲男人的天堂 日本搞黄 | 亚洲人成免费网站 | 中文字幕偷乱视频在线 | 欧美在线日韩 | 免费视频精 | 99热在线免费 | 电影在线观看不卡 | 国产欧美日韩综合精品一区二区三 | 日本精品国产一区二区在线 | 亚洲精品变态另类虐交 | 亚洲一区二 | 视频在线观看 | 全黄裸片一29分钟免费真人版 | 亚洲欧美日韩精品永久在线 | 国产黄a三级三级三级看三级 | 日韩欧美三区免费观看 | 国产亚洲精品 | 国产精品高清在线观看93 | 永久免费啪 | 欧美又大粗又爽又黄大片视频 | 国产精品区二区三区日本 | 亚洲精品园精 | 亚洲国产欧美中文手机在线 | 日本高清不卡在线中文字幕 | 99re视频热这里只有精品 | 免费高清永久在线不卡 | 91大神在线 | 国产欧美曰韩一区二区三区 | 老子影院午夜伦不卡亚洲 | 亚洲欧美韩国三级 | 日韩欧美亚洲国产永久在线观看 | 国产操穴| 视频一区二四三区四区 | 国产乱色国产精品免费视频 | 热门电影榜单 | 日韩专区视频 | 99视频精品免视3 | 亚洲天天做日日做天天谢日日欢 | 亚洲欧洲日产国码在线 | 亚洲欧美乱伦日本 | 中文字幕一区 | 人成午夜免费视频拍拍拍 | 伊人五月婷婷 | 国产亚洲精品福利片 | 午夜福免费福利在线观看 | 日韩一区精品视频一区二区 | 日本三级带日本三级带黄首页 | 在线观看片a免 | 亚洲影视网 | 91人成亚洲高清在线观看 | 欧洲乱码专区一区二区三区四区 | 欧美日韩一区二区三区四 | 亚洲欧美精品网站在线观看 | 成人污污国产在线观看 | 国产丝袜在线精品丝袜 | 高圆圆又紧又大又湿又爽 | 中文字幕亚洲欧美专区不卡 | 亚洲精品国产第一区二区尤物 | 欧美日韩在线精品一区二区三区 | 国产精品分类在线播放 | 在线视频有码国产欧美 | 思热99re视热| 日本黄一级日本黄二级 | 免费三级在线观看中文字幕 | 日韩精品极品视频在线观看免 | 成人夜间视频 | 国产产精品亚洲一区二区在线观看 | 射射影院 | 亚洲精品视频一区二区 | 两性色午夜视频免费播放 | 国产免费202 | 尤物视频在线免费观看 | 国产农村乱子伦精品视频 | 欧美中文字幕人成在线网站 | 欧美日韩成人在看 | 亚洲精品亚洲字幕 | 亚洲国产精品资源 | 日韩欧美亚洲一区二区在线观看 | 欧美日韩中文有 | 成人欧美一区二区三区在线蜜 | 大地影院 | 亚洲欧美日韩精品自拍 | 欧美精品一区二区三区四区 | 人气电影 | 国产精品免费aⅴ片在线观看 | 日韩在线观 | 亚洲国产午夜 | 国产91在| 一级特黄aaa大片在线观看 | 亚洲国产欧美日韩一区 | 国产十欧美 | 91精品一区二区三区蜜桃 | 欧美亚洲校园第一页 | 精品国产一区二区三区香蕉欧美 | 一本大道精品视频在线 | 果冻传媒国产电影免费看 | 天堂在线中文网www 女人的天堂a国产 | 精品中文字幕 | 日韩中文字幕亚洲精品 | 69午夜成年免费视频 | 欧美日韩精品一区二区另类 | 182tvc午夜福利在线观看污 | 羞羞视频免费入口网站 | 综合国产日本 | 日本中文在线观看欧美 | 亚洲中文欧美日韩在线 | 精品国产一 | 亚洲精品宾馆在线精品酒店 | 亚洲日本aⅴ片在线观看香蕉 | 日本亚洲一区二区三区 | 日韩国产一区二区三区地区 | 91导航在线国产无弹窗 | 一区二区三区四区在线视频 | 欧美伦费免费全部午夜最新 | 亚洲欧美大码a在线观看 | 欧美日韩不| 精品一区二区三区密臀在线 | 99re在线观看一区 | 欧美激情一 | 亚洲欧美日韩国产精品一区二 | 高清影视在线 | 国产夜趣福利免费 | 午夜美女视频在线 | 亚洲九九爱 | 开开影院| 一区二区三区在线免费看 | 一个人看的视频在线观看www | 国产亚洲国际精品福利 | 国产l精品国产亚洲区在线观看 | 国产福利在线观看极品美女 | 年轻的母亲4韩剧免费中文版 | 1024国产 | 国产中文字幕在线点播 | 欧美一卡2卡3卡4卡新区 | 免费的电影天堂手机在线观看 | 精品91视频网站 | 国产另类在线欧美日韩 | 亚洲欧美成ⅴ人在线观看 | 国产精品欧美一区二区三区不 | 日本免码va在线看免费 | 日本不卡一区 | 中文字幕日韩wm二在线看 | 天堂网一区二区 | 精品一区二区6 | 综合激情在线 | 国产一区二区xxx | 日本在线 | 亚洲无线码一区二区三区 | 国产一区二区三区亚洲 | 青草影视| 视频一区二区三区免费观看 | 99热国产这里只有精品 | 免费人成年激情视频在线观看 | 日日噜噜夜夜狠狠视频无 | 国产乱之伦露脸对白xxxx | 97韩剧网首页 | 国产一区二区三区四区五区加勒比 | 欧美精品在线观看 | 看片免费人成视频 | 星空传媒国产剧 | 泰剧tv网 | 九一看片| 欧美综合 | 国产黑色丝袜在线观看一区 | 为您呈现最新最热的电影力作 | 国产精品成人亚发布 | 91高清在线| 国产精品自拍亚洲 | 区二区三区 | 妺妺窝人体色www看人体 | 欧美人与动 | 中文字幕在线观看国产 | 欧美激情一区二区三区高清视频 | 精品国产福利在线观看 | 91免费国产在线观看尤物 |