国产精品青草久-国产精品情侣愉拍-国产精品区网红主-国产精品区一区二-国产精品热久久-国产精品热热热-国产精品人aⅴ-国产精品人成在线-国产精品人妻人伦-国产精品人人

金喜正规买球

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九九无码人妻 | 97亚洲欧美日韩中字二区 | 精品一区二区三区影院在线 | 国产在线观看无遮挡无码aⅴ多人 | 成人黄色网站在线播放视 | 欧美交性又色又爽又黄麻豆 | 韩国午夜理论a三级在线观看 | 亚洲日本aⅴ片在线观看香蕉 | 午夜视频在线观看免费 | 日韩中文字幕久久精品 | 91岛国| 人人弄狠五月丁 | 国产乱人伦app精品久久 | 欧美一区二区三区成人片在线 | 精品国产成人一区二区 | 999国内精品永久免费视频 | 日本在线观看视频一区二区 | 国产强天天躁夜 | 亚洲va成高清在线播放人 | 欧美日韩国产码高清综合人成 | 91午夜精品亚洲一区二区三区 | 亚洲av永久无码精品秋霞电影影 | 中文字幕人妻 | 无码精品亚洲毛片av | 欧美人与禽zozo性伦交 | 波多野结衣在线调教免费 | 亚洲熟妇无码久久精品疯 | 亚洲日韩欧美成人 | 亚洲熟女精品一区二区成人 | 欧美日韩精品一区二区三区高清视频 | 国产99视 | 少妇高潮惨叫久久久久久 | 97久久精品人妻人人搡人人玩 | 国产主播福利片在线观看 | 亚洲午夜国产精品 | 精品一区二区夜色 | 国产成人精品123区免费视频 | 中文字幕无码中文字幕有码a | 成人午夜免费无码视频在线观看 | 国产亚洲av片a区二区三区 | 国产亚洲精品第一综合麻豆 | 人妻精品无码一区二区三区久久 | 激情视频在线观看国产 | 东京热人妻一区二区三区 | 免费无码av片在线观看网站 | 国产亚洲色视频在线 | 日韩中文精品无码 | 在线免费观欧美 | 亚洲日韩乱码中文无码蜜桃 | 国产在线偷 | 亚洲av无码专区亚洲av桃 | 操女优国产成人综合色在线观看网站 | 91在线亚洲精品专 | 国产v日本v欧美v一二三四区 | 麻豆视频免费版 | 亚洲日韩在线影院 | 区二区三区毛 | 亚洲精品午夜 | 日本欧美一区二区三区不卡视频 | 中文字幕免费在线看线人动作大片 | 日韩超清无码 | 香蕉视频在线观看福利国产 | 精品国产青草久久久久福利 | 日韩精品国产免费av | av狼论坛电视剧在线观看 | 中文字幕一区二区无码 | 另娄专区欧美制服在线亚洲欧 | 久久大香萑太香蕉av黄软件 | 99久久日韩精品一区二区三区 | 国产精品成人精品久久久一区 | 国产精品v欧美精品∨日韩 国产精品v欧美精品v日韩精品 | 国产偷v国产偷v亚洲高清 | 丰满的少妇一区二区三区 | 欧美亚洲黄色一级 | a级国产乱理伦片 | 韩国大尺度电影愉情在线观看 | 99久久精品九九亚洲精品 | 亚洲女同一区二区三区 | 国产精品无码二区二区 | 亚洲国产精品无码久久电影 | 91在线精品国产丝袜超清 | 日本一区二区三区免费播放视频站 | 国产精品午夜一区二区 | 亚洲精品一区三区三区在线观看 | 国产一久久香蕉国产线看观看 | 九九線視頻在線 | 亚洲乱码中文字幕精品久久 | 国产av性网站 | 日韩在线一区二区三区视频 | 中文字幕精品久久久久人妻红杏1 | 国产麻豆剧果冻传媒一区 | 麻豆国产av巨作国产剧情 | 99精品国产一区二区三区四区阿崩 | 97久久精品人妻人人搡人人玩 | 亚洲av男人的天堂在线观看 | 99久热在线精品996热是什么 | 国产一区自拍视频 | 国产区精品高清在线观看 | 精品aⅴ免费 | 亚洲日韩天堂一区二区免费 | 成年日本h片免费网站 | 国产一区二区精品久久岳 | 精品国产v无码大片在线观看 | 二区欧美无遮挡中文字幕人成人 | 97碰碰碰人妻无码视频免费 | 国产成人精品亚洲第一 | 日本精品一区 | 超级九七视频在线观看 | 高潮喷水 | 国产另类专 | 精品国产乱码久久久久夜深人妻 | 亚洲国产成人片在线观看 | 国产精品天天看 | 国产91最新欧美在线 | 中文字幕亚洲天堂 | 99热视热频这里只有精 | 国产一级做a爰片在线看免费 | 国产精品亚洲v毛片一区二区 | 黄色三级三级三级网站 | 成人一区二区三区影院 | 国产亚洲综合久久 | 黄色免费网址在线观看 | 91看片无限制版下载v1.2.1 | 99久久麻豆a | av剧情麻豆映画国产在线观看 | 无码精品亚洲第1页 | 国产成人黄色网站 | 国产无码高清在线观看 | 亚洲无线码1003亚洲无线码 | 欧洲vps| 精品一区精品二区制服 | 精品久久久久亚洲国产 | 日韩精品欧美在线成人 | 国内在线第一区 | 成人毛片在线精品国产 | 丰满人妻跪趴高撅肥臀玄幻小说 | 国产激情自拍 | 国产xx| av在观线观看男人的天堂 | 日本xxx在线观看免费播放 | 国产成人高清视频免费播放 | 国产巨胸爆乳裸体免费视频 | 国产精品亚洲一区二区三区久久 | 91导航手机版下载安装 | 中文字幕1区无码影片 | 97视频播放器安卓版v1.11 | 十八禁在线观看视频播放免费 | 亚洲精品v欧洲精品v日韩精品 | 欧美一级二级一区二区 | 日本免费黄色片网站 | 成人免费在线观看午夜福利 | 国产精品va在线观看无码不卡 | 人妻久久无码五月天 | 99国产这里有精 | 无人在线视频高清免费观看 | 国产亚洲中文日韩欧美综合网 | 日韩有码欧美激情 | 国产成人性生交大片免费看 | 久久99热国产| 成人午夜电影免费完整在线看 | 99久久婷婷国产综合精品电影 | 91在线亚洲精品专 | 日本人视频国产一区二区三区 | 国产一区二区三区四区精华液毛 | 亚洲丰满爆乳肉感无码一区二区三 | 成年人网站在线免费观看 | 亚洲免费不卡 | 欧美日韩欧美 | 亚洲日本天堂在线 | 国产亚洲成av片在线尤物 | 国产性色强伦免 | 麻豆国产一级片在线观看 | 国产精品成人一区二区三区电影 | 国产免费伦精品一区二区三区 | 国内精品一级毛片免费看 | 国产精品亚洲一 | 成年人免费在线看的惊悚动作片 | 91亚洲精品无码久久久久 | 婷婷激情久久丁香综合伊人 | 午夜理论在线观看视频无码 | 无码h肉动漫在线观看 | 亚洲国产2025最新 | 丰满熟女人妻大乳波多野吉衣 | 亚洲最大av无码网址 | 精品人妻人人做人人爽夜夜爽 | 国产成人精品一区二三区在线观看 | 99久久99久久免费精品小说 | 国产高清在线观看91了 | 亚洲综合天堂网 | 91九色在线 | 亚洲国产日韩一级精品视频网站 | 国产精品欧美日韩区二区 | 国产av无码专区亚洲av手机麻豆 | 国产v高清v | 国产在线拍揄自揄视精品不卡 | 97超碰国产一区二区三区 | 欧美人与动性行 | 成人麻豆精品激情视频在线观看 | 欧美日韩久久久久久精品 | 成人黄色网址 | 果冻精品va天堂亚洲国产 | 亚洲成在人线av壁咚影院 | 狠狠热精品免费视频 | 亚洲中文字幕无码亚洲成a人片 | 日产一级毛片免费网站 | 在线毛片免费观看 | 欧美日韩一区二区三区四 | 日韩a片一级无码 | 精品av国产一区二区三区四区 | 亚洲av日韩在线中文一区二区 | 中文字幕人成乱 | 成全视频在线观看免费高清在线观看 | 日本人妻丰满熟妇久久久久久 | 成人免费黄色视频 | 中文字幕在线不卡 | 亚洲久热无码中文字幕人妖 | 妖精色av无码国产在线看 | 国产成人精品免费久久久久 | 99爱国产精品免费精品在线 | 国产自拍| 91成人版| 九九99| 91在线国语自产拍在线观看 | 最新国产精品拍自在线观看 | 欧美精品久久久久久久久爆乳 | 区二区三区| 成人国产精品免费视频 | 波多野结 | 国产精品自拍午夜福利在线播放 | 亚洲精品午夜 | 日本免费人成视频在线观看 | 日韩av激情中文在线观看 | 亚洲中文字幕不卡一区二区三区 | 亚洲ⅴa国产日韩欧美精品 亚洲ⅴa久久久噜噜噜久久天堂 | a男人的天| 日韩精品无码免费专区丶 | 亚洲一级黄色在线观看 | 欧美三级大 | 国产香港日本三级在线观看 | www深夜成人网站下载麻豆 | 亚洲精品自拍愉拍第二页 | 午夜免费啪在线观看无码 | 国产日韩一区二区三区高清 | 日韩亚洲经典视频 | b站影院永久免费 | 二区日本成 | 色综合99久久久无码国产精品 | 亚洲综合五月天国产av | 日本免费人成视频在线观看 | 亚洲精品宾馆在线 | 国产午夜福利在线播放 | 成人免费精品网站在线观看影片 | 婷婷人人爽人人爽人人片 | 国产精品日韩欧美久久综合 | 国产精品午夜 | 成人网站精品久久久久 | 丰满女邻居做爰bd | 国内精品久久久久久久影视 | 亚洲精品电影网 | 亚洲欧美一区二区三区蜜芽 | 91精品丝袜国产在线一区 | 午夜免费啪在线观看无码 | 91精品电影 | 国产自在现偷国产精品国产日韩 | 无码理论在线中文字幕 | 欧美人妻一区二区三区 | 亚洲av无码久久久久久精品同性 | 欧美丰腴丰满大屁股熟妇 | 国产亚洲一级毛片 | 国产日韩欧美日韩欧美 | 99在线精品国自产拍中文字幕 | 97成人无码免费一区二区中文 | 国产精品岛国久久久久久 | 99久久成人国产精品免费 | 人人妻人人玩人人澡人人爽 | 午夜视频在线观看免费观看在线观看 | 91精品微拍国产在线 | 国产精品免费久久久久久久蜜桃 | 国语自产拍无码精品视 | 午夜福利一区二区三区高清视频 | 午夜福利93波多野结衣 | 国内精品久久久久久蜜芽 | 中文无码精品a∨在线观看不卡 | 国产成人精品一区二区三区… | 成年女人永久免费看片 | 无码a精品一| 无码专区最新地址发布 | av黑人手机版天堂网 | 无码日韩aⅴ一区二区三区 无码日韩av一区二区三区 | 天天av天天翘天天综合网 | 狠狠躁天天躁中文字幕日韩版 | 成人看片黄a免费看在线 | 日韩有码欧美激情 | 亚洲综合无码一区二区 | 亚洲一区二三区好的精华液 | 日本一区午夜爱爱 | 人人妻人人澡人人爽人人精品电影 | 国产精品国产免费无码专区不 | 在线视频免费观看www动漫 | 国产激情一区二区三区 | 国产精品白丝av在线观看播放 | 国产成人8x人网站在线视频 | 91精品视频观看 | 日韩电影免费在线观看中文字幕 | 国产精品亚洲v毛片一区二区 | 在线看性爱av网站 | 亚洲精品人体大胆特aa级视频 | 无码在线观看三级高清 | 精品国产福利在线观看 | 海角社区视频精品熟妇乱久久久 | 无码av喷白浆在线播放 | 日本高清色视频www 日本高清视频 | 亚洲欧美日韩国产高清在线播放 | 日韩精品a√在线 | 丝无码免费视频 | 无码国模大尺度视频在线观看 | 久久99精品久久久久久噜噜噜 | 国产妇女性爽视频免费 | 亚洲精品一区二区久 | 欧美精品久久久久精品 | 成人拍拍拍免费视频网站 | 特级丰满少妇一级aaaa爱毛片 | 亚洲一区二区三区国产精品无 | 日本国产在线 | 国产精华液:从成分到功效 国产精华液一线二线三线 国产精华最好的产 | 三区免费观看 | 东京热aⅴ无码一区二区 | 尤物精品无码视频专区 | 精品国产国产自在线观看 | 少妇av| 国产成人综合亚洲精品777 | 国产免费高潮流白 | 欧美精品日韩精品一卡 | 日本a级精品一区二区三区 日本a片把舌头伸进 | 亚洲av无码国产精品色 | 女子口述第一次被按摩师进入身体 | 狠狠躁天天躁中文字幕日韩版 | 最新国产中文字幕 | 99re99精品视频在线播放 | 福利姬液液酱喷水网站在线观看 | 午夜国产精品电影在线观看一区 | 91短视频版高清在线观看免费 | 99精品国产在热 | 精品国产乱码久久久久久免 | 亚洲av中文无码乱人伦在线视色 | 色欲影视天天综合 | 囯产精品一品二区三区 | 成人综合高清久久亚洲中文字幕精 | 亚洲日本va中文字幕久久 | 91福利国| 精品久久久久久国产潘金莲 | 国产曰批视频 | 国产一区在线观看 | 国产亚洲综合精品一区二区三区 | 国产a级毛片 | 丰满老熟女一级aa片色欲 | 国产爆乳美女 | 国产成人拍国产亚洲精品稀缺 | 国产97在线视频播放 | 欧美午夜福利电影a在线 | 欧美色蜜桃97中文字幕在线播放 | 99久久精品无码一区二区毛片 | 国产在线精品99一区不卡 | 一区二区在线看 | 精品久久久久久中文字幕一区 | 国产麻豆精品国产传媒av | 国产精品日本一区二区在线播放 | 国产激情电影综合在线看 | 天美传媒在线观看果冻传媒 | 97亚洲欧美日韩中字二区 | 无码三级香港经典三级在线视频 | 成人自拍午夜在线观看 | 欧美级在线现免费观看不卡 | 少妇精品久久久一区二区三区 | 成年女人免费影院播放 | 国产裸体舞一区二区三区 | 亚洲av无码乱观看明星换脸va | 国产成人久久精品二区三区 | 日韩欧美电影在线 | 少妇被躁爽到高潮无码文 | 免费午夜无码片在线观看影院 | 欧美精品十八精品视频 | 国产成人无码综合亚洲日韩 | 欧亚精品福利视频 | 亚洲精品无码久久久久冒白浆 | 国产微胖av在线播放 | 国产午夜性爱无码视频 | 午夜精品一区二区 | 无码人妻精品一区二区三区东京热 | 中文字幕久久久久 | 国产午夜精品不卡视频 | 99久久精品免费看国产一区乱理片 | 亚洲av无码国产精品色午友在线 | 欧美日韩变态另类在线观看 | 中文字幕亚洲无线码一区女同 | 99久久免费精品国产男女性高 | 亚洲日本乱码一区二区产线一∨ | 亚洲精品中文字幕不卡在线 | 91人人摸人人爽人人爱 | 毛片在线播放网 | 国产真实露脸乱子伦 | 香蕉视频在线久久 | 人人做天天爱夜爽 | 国产玖玖资源站免费 | 日本一二三不卡免费视频 | 欧美v日韩v国产 | 一区二区欧美日韩高 | 欧美人妻羞羞一区二区三区 | 操女优国产成人综合色在 | 91久久精品无码一区二区三区 | 97国产婷婷综合视 | 国产不卡一区二区三区視频。 | 国产精品一区二区三区免费视频 | 无码毛片aaa在线 | 日韩精品卡通无码 | 日本亚洲中文字幕 | 亚洲国产精品一区二区久久 | 成全视频观看高清在线观看 | 无码人妻精一区二区三区 | 国产精品一区二区尿失禁 | 亚洲一级av影视在线观看 | 国产一级在线观看视频 | 国产精品爆乳在线播放 | 亚洲精品电影网 | 91精品国产91久久久 | 国产一区国产精品精品三 | 久久99精品久久久久久野外 | 国产精品69白浆在线观看免费 | 精品国产美女福到在线直播 | 国产精品原创av | 国产免费福利视频 | a动漫在线观看 | 一区二区三区动漫成人在线观看 | 国产黄色在线免费观看 | 国产精品不卡无码av在线播放 | 人人澡人人澡碰人人看软件 | 精品999久久久一级毛片 | 日本中文字幕在线视频一区 | 综合激情五月综合激情五月激情1 | 狠狠精品干练久久久无码中文字幕 | 日日做夜夜爽夜夜爽 | 尤物视频不卡在线观看 | 日产亚洲一 | 亚洲二区三 | 国产精品高清视亚洲 | 专区无码浪潮av | 在线播放国产精品三级 | 人妻丰满熟妇av无码片 | 亚洲av一夜七次郎婷婷 | 欧美另类重口 | 91麻豆女人丰 | 亚洲av无码国产精品夜色午夜 | 成全影视 | 激情内射亚州一区二区三区爱妻 | 亚洲成a人片在线观看 | 日韩精品欧美在线视频在线 | 国产欧美久久久精品 | 国产精品初高中精品免费观看 | 东京热加勒比久久综合 | 日韩精品卡2卡3卡4卡5 | 亚洲熟女乱色一区二区三区 | 国产白嫩精品久久 | 91在线精品秘一区二区 | 久久成人影院精品777 | 久久99久久精品免观看吃奶 | 99久久精品免费看国产一区二 | 一级片免费在 | 国产午夜精品理论片久久影院 | 国产av一区二区三区天堂综合网 | 97青草最新免费精品视频 | 操女优国产成人综合色在线观看网站 | 国产午夜福利一区二区播 | 国产丰满xxx高潮国产 | 日本亚洲色大成网站www久久 | 欧美永久精品大片综合nba免 | 不卡国产精品 | 亚洲精品亚洲人成在线观看麻豆 | 欧美性大战久久久久xxx | 97人人干人| 久草免费福利资源站在线观看 | 亚洲av成人无码久久精品老人 | 婷婷综合在线观 | 中文字幕乱人伦视频在线 | 国产午夜无码专区喷水 | 福利一区二区三区四区视频 | 欧美日韩在线在线观看 | 亚洲欧美另类小说 | 99久久精品国产一区二区三区 | 99精品国产在热久久无毒 | 99在线精品日韩一区免费国产 | 欧美日韩国产精品一区二区三区 | 国产ts人妖在线视频网站 | 日本久久免费大片 | 日本久久免费大片 | 91av在线播放观看国产 | 欧美成人看片一区二三区 | 91香蕉国产线观看免 | 一级特黄aaa大片 | 97人妻人人做人碰人人添高清 | 免费一级全黄少妇性色生活 | 午夜色av大片在线观 | 国产高清无码在线视频播放 | 欧美曰韩一区二区三区 | 91美剧网| 午夜亚洲日本在线 | 国产欧美亚 | 国产亚洲成人网在线播放av | 国产精品美女久久久久av福利 | 丰满女邻居做爰bd中文字幕 | 精品人妻一区二区三区四在线 | 亚洲av成人一区二区三区高清 | 午夜视频国产 | 日韩av高清无码专区 | 日韩在线播放中文字幕 | 99久久www免费人成精品 | 99久久久无码国产精品66 | 操逼免费视频一区二区三区 | 成人午夜视频精品一区 | 麻豆午夜福利在线观看 | 中文字幕av无 | 亚洲熟妇无码久久精品疯 | 国产精品偷伦视频免费观看 | 亚洲国产精品日韩在线 | 二区三区免费站 | 91精品国产日韩91久久久久久 | 亚洲av婷婷一区二区三区网站 | 欧美伊人色综合久久天天 | 无码精品一区二区三区在线 | 国产三级国产经典国产av | 午夜理论片yy4080私人影院 | 亚洲一区二区三区不卡在线播放 | 国产激情片免费在线观看 | 99久久99精品久久久久久 | 亚洲欧美另类日韩一区 | 91亚洲国产第一精品 | 亚洲午夜福利院在线观看 | 国产九色91回来了 | 亚洲欧美日韩高清在线看 | 中文字幕理伦午夜福利片 | 日韩成人毛片高清视频免费看 | 久久av无码精品人妻系列 | 午夜精品理论片 | 日韩精品在线一区二区在线观看 | 亚洲精品高清国产 | 国产极品白嫩精品 | 亚洲欧美日韩中 | 国产主播卡通动漫在线 | 午夜免费观看福利片 | 国产玖玖在线观看 | 国产欧美日韩精品尤物在线观看 | 福利官方导航 | 国产女人久久香蕉精品视 | 99热成人精品 | 亚洲免费人成视频观看 | 99re6热在线精品视频播放 | 国产亚洲福利在线视频 | 丰满人妻系列无码专区 | 人人干操| av无码精品一区二区三区宅噜噜 | 国产白丝无码视频在线观看 | 国产一区二区三区不卡视频在线 | 国产自产精品爆乳一区二区 | 午夜剧场成人免费久久精品 | 99国产精品热久久婷婷 | 成人看片黄a免费看在线 | 国产高潮流白浆免费观看 | 91人妻丝袜美腿一区二区 | 日本成人电影中文字幕 | 97青草操五月天开心网 | 亚洲欧美日韩国产综合高清 | 国产毛片久久久久久国产毛片 | 亚洲国产精品嫩草影院永久 | 国产高清自拍一区 | 一级一片在线播放在线观看 | 国产91大片精品一区在线观看 | 精品国产免费看久久久 | avtt天堂网人妻系列 | 白丝制服被啪到喷水视频 | 午夜国产在线观看 | 老司机视频在线www 老司机午夜 | 国产啪亚洲国产精品无码 | 午夜性色福利在线观看 | 亚洲精品v天堂 | 国产精品观看视频免费完整 | 亚洲一区二区三区四区在线观看 | 日语高清日剧大全 | 人妻体内射精一区二区三区 | 精品无码超碰动画 | 在线观看午夜亚洲一区 | 日本成人网在线观看 | 国产一区二区三区免费在线 | 97国产午夜精品一区二区 | 无码国产69精品久久久孕妇 | 亚洲国产精品午夜久久 | 国产国拍亚洲 | 国产无遮挡无码免费视频在线抪 | 91网视频网| 午夜欧美精品久久久久久久 | 97国产精品无码免费视频 | 国产黄大片在线观看画质优化 | 97亚洲狠狠色综合久久 | 办公室国产a国产片免 | 人妻少妇精品无码专区二区 | 久久99精品久久久久久久清纯 | 中文字幕在线日亚 | 激情综合色五月丁香六月欧美 | 无码精品免费看 | 日本婷婷天堂吧 | 91成人午夜性 | 中文亚洲成a人片在线播放 中文亚洲成a人片在线观看 | 亚洲国产精品高清在线一区 | av无码专区亚洲av波多野结衣 | 国产精品揄拍100视频 | 亚洲av无码成h人动漫在线观看 | 国产福利电影一区二区三区 | 亚洲国产专区 | 97av| 韩国理论片久久电影网 | 午夜看片网址97久久精品视频 | 99精品久久久久久久久久综合 | 91精品人妻一 | 一区二区视频在线观看高清视频在线 | 国产麻豆精品传媒av | 精品久久久久久久蜜臀av | 日韩av无| 99不卡无码中文字幕在线 | 伊伊人成亚洲综合人网7777 | 91精品久久久久久久久入口 | 麻豆av免费观看网站 | 97se狠狠狠狠狼鲁亚洲综合色 | 国产真实乱了伦对白视频 | 97婷婷视频在线 | 少妇午夜福利一区二区 | 国产欧美日韩综合 | 亚洲av无码电影网 | 97se亚洲国产综合自在线 | a天堂视频在线观看 | 免费无码av片在线观看 | 国产高清www免费视频 | 亚洲午夜成人精品电影在线观看 | 中文字幕乱码亚洲第一页 | 亚洲国产精品超碰 | 国产va成无码人在线观看 | 国产精品三级在线观看 | 午夜a级理论电影在线播放 午夜a级理论片在线 | 天天做日日做天天添天天欢公交 | 欧美精品十八精品视频 | 国产av剧情md精品麻豆 | 99国产在 | 久久er热视频在这里精品 | 精品人妻一区二区三区浪潮在线 | 91成人看片 | 91在线精品国产电影 | 精品一卡1卡2卡3乱码视频 | 动漫精品一区二区3d | 老司机91精品网站在线观看 | 国产不卡视频一区二区三区 | h漫无码动漫av动漫在线播 | 日韩成a| www视频黄色 | 国产清纯美女白浆在线播放 | 亚洲欧美一区二区三区国产 | 91精品在线播放 | 国产成人无码精品久免费 | 亚洲av成 | 亚洲av不卡一区二区三区 | 91在线无码精品秘入口色欲 | 亚洲欧美日本综合一区二区 | 国产极品性色一区二区三区 | 91精产品一永久下载安装免费 | av免费黄色网址 | 国产99久久精品一区二区 | 精品午夜户外露出一区二区 | 国产精彩视频在线观看免费蜜芽 | 国语成本人免费aⅴ无码 | 国产91色在线观看 | 国产偷国产亚洲偷亚洲高 | 人妻熟妇乱又伦精品视频 | a级毛片在线观看 | 精品国产自产久久久 | 国产av激情久久无码天堂 | 黑人好猛厉害爽受不 | 中文字幕无码中文字幕有码a | 国产区精品一区二区 | 无码国产精品一区二区免费式芒果 | 国产日韩欧美另类视频 | 欧美日韩国产精品. | 国产午夜理论片不卡在线观看 | 国产剧情中文巨作md | 亚洲午夜精品aaa级久久久久 | 亚洲精品9999久久久久 | 精品久久久久久久蜜臀av | 91福利国产视频 | 天天爽天天干天天操 | 老司机亚洲精品 | av黄色成人在线观看 | 香蕉欧美成人精品a∨在线观看 | 99在线| 精品國產福利第一區二區三區 | 在线看性爱av网站 | 在线观看免费一级毛片 | 国产一区av麻豆免费观看 | 91大神在线观看 | 99精品| 国产自产一区二区三区视频在线 | 无码不卡一区二区三区在线 | 精品国产群3p交换 | 国产精品亚洲一区二区三区 | 亚洲国产日韩一级精品视频网站 | 无码国产激情在线观看 | 亚洲国产成人久久一区 | 国产av一区二区三区最新精品 | 黄视频在线观看无遮挡 | 欧美日本综合一区二区三区 | 国产在线播放永久免费 | 人妻aⅴ无码一区二区三区 人妻av区波多野结衣 | 国产99精品在线观看 | 国产在线观看高清视频黄网 | 成人综合网站在线 | 丰满人妻被公侵犯完整版 | 国产成人久久av免费看澳门 | 97人妻中文字幕免费视频 | 精品无码大爆乳在线视频 | 一级在线 | 欧美熟妇另类久久久久久久 | 亚洲一线精品精品在线观看 | 久久99精品一区二区三区 | 99久无码中文字幕一本久道 | 亚洲乱码卡一卡二卡新区仙踪 | 午夜蜜桃视频 | 激情一区二区三区成人 | 特级丰满少妇一级aaaa爱毛片 | 日本女优一区二区三区四区 | 99久久er热在这里只有精品16 | 国产欧美日韩综合精品久久一 | 97色涩| 国产一区二区三区免费在线 | a级毛片无码久久精品免费 a级毛片无码免费真 | 99re热有| 精品国产18久久久久久 | 欧美综合缴情五月丁香六月婷 | 91人妻丝袜美腿一区二区 | 特级无码a级毛片特黄 | 麻豆av传媒蜜桃天美 | 国产日韩一区 | 国产无套粉嫩白浆在线精品 | 人体内射精一区二区三区 | 欧美日韩国产高清视频 | 国产高清精| 日本老司机午夜福利在线免费观看 | 国产欧美日韩综合一区 | 综合伊人久久在一二三区 | 久久高清超碰av热热久久 | 中文字幕在线 | 中文字幕久热精品 | 午夜精品久久久久久毛片 | 国产精品自产拍在线网站 | 日韩一卡2卡3卡4卡 日韩一卡二卡三 | 精品日本三级在线观看 | 中文字幕人妻中 | 波多野结衣一区二区免费视频 | 精品无码国产在线一区二区福利姬 | 天堂中文av在线 | 国产精品香蕉成人网在线观看 | 精品久久久久久中文字幕一区 | 国产在线观看色 | 无码精品va在线观看蜜桃 | 日本一区二区三区免费在线观看 | 亚洲av福利无限在线观看 | 日韩欧无码免费播放 | 99久久精品国产免费看 | 国产亚洲精品精品国产亚洲综合 | 国产精品永久免费 | 欧美午夜免费大片 | 99精品久久精品一区二区 | 成年女人免费毛片视频永久vip | 人妻精品久久久久 | 精品亚洲欧美高清 | 精品无人区一区二区三区在线 | 日本精品久久久久中文字幕 | 国产一级婬片a免费播放口 国产一级婬片a片aaa毛片小说 | 波多野结衣(波多野結衣) | 无码激情做a爰片毛片av片 | 国产激情免费视频在线观看 | 日韩av一区二区在线电影 | 亚洲一区二区三区高清av | 国产精品毛片一区二区 | a级情欲片在线观看免费 | 亚洲欧美日韩国产综合高清 | 午夜男女激情av | 日本成人网在线观看 | 精品国产一区二区三区 | 精品国产人成亚洲区 | 国产精品麻豆成人av电影 | 成人伊人青草久久综合网 | 亚洲精品乱码久久久久久久久久久久 | 亚洲精品无码久久久久av麻豆 | 一区二区三区精品视频 |