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

金喜正规买球

如何用MVVM來實現綁定和顯示TreeView控件

轉帖|其它|編輯:郝浩|2011-08-10 14:26:04.000|閱讀 5631 次

概述:最近有部分朋友經常問我,WPF的TreeView控件,如何用MVVM來實現綁定和顯示?所以寫下了這篇WPF應用基礎篇---TreeView.

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

  最近有部分朋友經常問我,WPF的TreeView控件,如何用MVVM來實現綁定和顯示?所以寫下了這篇WPF應用基礎篇---TreeView.

 1.介紹

  • 案例瀏覽:

    

                  圖 1-1(案例結構圖)

  • 目的:本文中做了三個簡單的Demo給剛剛入門或者入門不久而且不熟悉TreeView控件在MVVM中具體實現的朋友們。希望以下3個例子能夠給他們帶來幫助。
  • 背景:Demo是采用現實生活中一個大網絡的某一部分網絡來作為案例。這里為了演示方便,整個網絡由路由器、交換機、集線器等服務器組成。他們的之間的關系是多對多的關系,一個網絡中有可能一個路由器包含了多個路由器、交換機、集線器;而且交換機、集線器也是相同的原理。
  • 數據:本 文中用到的數據隨機產生的測試數據。根據界面中樹的深度(下拉框)來選擇樹最多有多少層,然后創建樹結構的數據。這里需要注意的是我們TreeView提 供的數據源必須是樹結構的;為什么需要樹結構的數據呢?大家可能會覺得很奇怪,其實,我們ViewModel要將數據Binding到TreeView控 件上就必須指定一個ItemsSource,所以必須把節點的子節點集合綁定到模板中的ItemsSource中。
  • 案例解析:

  整個Demo分為兩部分:左邊是功能菜單,右邊是顯示具體內容,可以參考圖1-1。

  基礎數據:為了實現一下案例功能,我建立了一個SmlAnt.DataLibrary的數據類庫,專門提供原始基本類型和基本數據。下面是具體代碼:

  實體類:

  1 namespace DataLibrary
   2 {
   3     /// <summary>
   4     /// 設備狀態
   5     /// </summary>
   6      public enum DeviceStatus
   7     {
   8         Connected,Off
   9     }
  10 
  11     /// <summary>
  12     /// 設備基類
  13     /// </summary>
  14      public class Device:INotifyPropertyChanged
  15     {
  16         //是否被選中
  17          private bool? isSelected;
  18         public bool? IsSelected 
  19         {
  20             get { return isSelected; }
  21             set
  22             {
  23                 if (isSelected != value)
  24                 {
  25                     isSelected = value;   
  26                     ChangeChildNodes(this);
  27                     ChangedParentNodes(this);
  28                     NotifyPropertyChanged("IsSelected");
  29                 }
  30             }
  31         }
  32         
  33         private DeviceStatus status;
  34         public DeviceStatus Status
  35         {
  36             get { return status; }
  37             set
  38             {
  39                 if (status != value)
  40                 {
  41                     status = value;
  42                     NotifyPropertyChanged("Status");
  43                 }
  44             }
  45         }
  46 
  47         public string Name { get; set; }
  48         public string ImageUrl{get;set;}
  49 
  50         private List<Device> childNodes;
  51         public List<Device> ChildNodes
  52         {
  53             get { return childNodes; }
  54             set
  55             {
  56                 if (childNodes != value)
  57                 {
  58                     childNodes = value;
  59                     NotifyPropertyChanged("ChildNodes");
  60                 }
  61             }
  62         }
  63 
  64         private Device parentNode;
  65         public Device ParentNode
  66         {
  67             get { return parentNode; }
  68             set
  69             {
  70                 if (parentNode != value)
  71                 {
  72                     parentNode = value;
  73                     NotifyPropertyChanged("ParentNode");
  74                 }
  75             }
  76         }
  77 
  78         /// <summary>
  79         /// 向下遍歷,更改孩子節點狀態
  80         /// 注意:這里的父節點不是屬性而是字段
  81         /// 采用字段的原因是因為不想讓父節點觸發訪問器而觸發Setter
  82         /// </summary>
  83         /// <param name="CurrentNode"></param>
  84          public void ChangeChildNodes(Device CurrentNode)
  85         {
  86             if (ChildNodes != null)
  87             {
  88                 foreach (var data in childNodes)
  89                 {
  90                     data.isSelected = CurrentNode.IsSelected;
  91                     CurrentNode.NotifyPropertyChanged("IsSelected");
  92                     if (data.ChildNodes != null)
  93                     {
  94                         data.ChangeChildNodes(data);
  95                     }
  96                 }
  97             }
  98         }
  99 
100         /// <summary>
101         /// 向上遍歷,更改父節點狀態
102         /// 注意:這里的父節點不是屬性而是字段
103         /// 采用字段的原因是因為不想讓父節點觸發訪問器而觸發Setter
104         /// </summary>
105         /// <param name="CurrentNode"></param>
106          public void ChangedParentNodes(Device CurrentNode)
107         {
108             if (CurrentNode.ParentNode != null)
109             {
110                 bool? parentNodeState = true;
111                 int selectedCount = 0;  //被選中的個數
112                  int noSelectedCount = 0;    //不被選中的個數
113 
114                 foreach (var data in CurrentNode.ParentNode.ChildNodes)
115                 {
116                     if (data.IsSelected == true)
117                     {
118                         selectedCount++;
119                     }
120                     else if (data.IsSelected == false)
121                     {
122                         noSelectedCount++;
123                     }
124                 }
125 
126                 //如果全部被選中,則修改父節點為選中
127                  if (selectedCount == 
128                     CurrentNode.ParentNode.ChildNodes.Count)
129                 {
130                     parentNodeState = true;
131                 }
132                 //如果全部不被選中,則修改父節點為不被選中
133                  else if (noSelectedCount == 
134                     CurrentNode.ParentNode.ChildNodes.Count)
135                 {
136                     parentNodeState = false;
137                 }
138                 //否則標記父節點(例如用實體矩形填滿)
139                  else
140                 {
141                     parentNodeState = null;
142                 }
143 
144                 CurrentNode.parentNode.isSelected = parentNodeState;
145                 CurrentNode.parentNode.NotifyPropertyChanged("IsSelected");
146 
147                 if (CurrentNode.ParentNode.ParentNode != null)
148                 {
149                     ChangedParentNodes(CurrentNode.parentNode);
150                 }
151             }
152         }
153 
154         public void NotifyPropertyChanged(string name)
155         {
156             if(PropertyChanged!=null)
157             PropertyChanged(this,new PropertyChangedEventArgs(name));
158         }
159         public event PropertyChangedEventHandler PropertyChanged;
160     }
161 
162     /// <summary>
163     /// 路由器
164     /// </summary>
165      public class Router : Device
166     {
167 
168     }
169 
170     /// <summary>
171     /// 交換機
172     /// </summary>
173      public class Switcher : Device
174     {
175 
176     }
177 
178     /// <summary>
179     /// 集線器
180     /// </summary>
181      public class Concentrator : Device
182     {
183 
184     }
185 }

  數據工廠:

  1 public class DataFactory
   2     {
   3         /// <summary>
   4         /// 隨機數據產生器
   5         /// </summary>
   6          static Random random = new Random();        
   7 
   8         /// <summary>
   9         /// 根據參數獲取設備狀態
  10         /// </summary>
  11         /// <param name="intValue"></param>
  12         /// <returns></returns>
  13          private static DeviceStatus GetStatus(int intValue)
  14         {
  15             return intValue % 2 == 0 ? DeviceStatus.Off : DeviceStatus.Connected;
  16         }
  17         
  18         /// <summary>
  19         /// 
  20         /// </summary>
  21         /// <param name="intValue"></param>
  22         /// <returns></returns>
  23          private static String GetName(int intValue)
  24         {
  25             string refValue = "路由器";
  26             if (intValue % 3 == 0)
  27             {
  28                 refValue = "路由器";
  29             }
  30             else if (intValue % 3 == 1)
  31             {
  32                 refValue = "交換機";
  33             }
  34             else
  35             {
  36                 refValue = "集線器";
  37             }
  38             return refValue;
  39         }
  40 
  41         /// <summary>
  42         /// 根據參數創建設備(簡單工廠-參數工廠)
  43         /// </summary>
  44         /// <param name="typeValue"></param>
  45         /// <returns></returns>
  46          public static Device DeviceFactory(int typeValue)
  47         {
  48             Device refEntity = null;
  49             if (typeValue % 3 == 0)
  50             {
  51                 refEntity = new Router();
  52             }
  53             else if (typeValue % 3 == 1)
  54             {
  55                 refEntity = new Switcher();
  56             }
  57             else
  58             {
  59                 refEntity = new Concentrator();
  60             }
  61             return refEntity;
  62         }
  63 
  64         /// <summary>
  65         /// 隨即獲取基類設備數據
  66         /// </summary>
  67         /// <param name="level">當前節點所在層</param>
  68         /// <param name="MaxLevel">樹最大深度</param>
  69         /// <returns>設備樹</returns>
  70          public static List<Device> GetBaseTypeDevices(int level, int MaxLevel)
  71         {
  72             level++;
  73             var count = random.Next(6, 10);
  74             List<Device> listTo = new List<Device>();
  75             for (int i = 1; i < count; i++)
  76             {
  77                 Device entity = new Device();
  78                 var typeValue = random.Next(1, 6);
  79                 entity.Name = GetName(typeValue);
  80                 entity.ImageUrl = "..\\..\\Resource\\" + entity.Name + ".png";
  81                 entity.Status = GetStatus(typeValue);
  82                 if (level <= MaxLevel)
  83                     entity.ChildNodes = GetBaseTypeDevices(level, MaxLevel);
  84                 listTo.Add(entity);
  85             }
  86             return listTo;
  87         }
  88 
  89         /// <summary>
  90         /// 隨即獲取所有子類型設備數據
  91         /// </summary>
  92         /// <param name="level">當前節點所在層</param>
  93         /// <param name="MaxLevel">樹最大深度</param>
  94         /// <returns>設備樹</returns>
  95          public static List<Device> GetAllTypeDevice(int level,int MaxLevel)
  96         {
  97             level++;
  98             var count = random.Next(6, 10);
  99             List<Device> listTo = new List<Device>();
100             for (int i = 1; i < count; i++)
101             {
102                 var typeValue = random.Next(1, 6);
103                 Device entity = DeviceFactory(typeValue);                
104                 entity.Name = GetName(typeValue);
105                 entity.ImageUrl = "..\\..\\Resource\\" + entity.Name + ".png";
106                 entity.Status = GetStatus(typeValue); 
107                 if (level <= MaxLevel)
108                     entity.ChildNodes = GetAllTypeDevice(level,MaxLevel);
109                 listTo.Add(entity);
110             }
111             return listTo;
112         }
113 
114         /// <summary>
115         /// 隨即獲取所有子類型設備數據
116         /// </summary>
117         /// <param name="level">當前節點所在層</param>
118         /// <param name="MaxLevel">樹最大深度</param>
119         /// <param name="parentNode">父節點</param>
120         /// <returns>設備樹</returns>
121          public static List<Device> GetAllTypeDevice
(int level, int MaxLevel, Device parentNode)
122         {
123             level++;
124             var count = random.Next(6, 10);
125             List<Device> listTo = new List<Device>();
126             for (int i = 1; i < count; i++)
127             {
128                 var typeValue = random.Next(1, 6);
129                 Device entity = DeviceFactory(typeValue);
130                 entity.IsSelected = false;
131                 entity.Name = GetName(typeValue);
132                 entity.ParentNode = parentNode;
133                 entity.ImageUrl = "..\\..\\Resource\\" + entity.Name + ".png";
134                 entity.Status = GetStatus(typeValue);               
135                 if (level <= MaxLevel)
136                     entity.ChildNodes = GetAllTypeDevice(level, MaxLevel, entity);
137                 listTo.Add(entity);
138             }
139             return listTo;
140         }
141     }

  案例一, 主要為大家介紹如何創建一個無限級的樹,其實說簡單點就是采用HierarchicalDataTemplate 作為樹模板,然后通過Binding把數據綁定到樹上。因為模板是HierarchicalDataTemplate這個模板,這里就不詳細講解,如果了 解多點可以到MSDN,所以會無限級別的增加,只要數據結構上能支持,數據有多少級別,View中顯示的樹也會對應有多少級別。而如果采用的是DataTemplate的話,則只能有一層的數據。

  效果圖如下:

  

        圖 1-2(無限級別樹)

  View(XAML)代碼 代碼1-3:

1 <HierarchicalDataTemplate x:Key=
"TreeViewTemplate" ItemsSource="{Binding ChildNodes}">
2             <StackPanel Orientation="Horizontal">
3                 <Image Source="{Binding ImageUrl}" Margin="2"/>
4                 <TextBlock Text="{Binding Name}" Margin="2"/>
5             </StackPanel>
6         </HierarchicalDataTemplate>

8  <TreeView Grid.Row="1" ItemTemplate=
"{StaticResource TreeViewTemplate}" ItemsSource=
"{Binding DataSource}" Margin="5"/>  

  ViewModel代碼:

 1 private List<Device> dataSource;
  2         public List<Device> DataSource
  3         {
  4             get { return dataSource; }
  5             set
  6             {
  7                 if (dataSource != value)
  8                 {
  9                     dataSource = value;
10                     RaisePropertyChanged("DataSource");
11                 }
12             }
13         }
14 
15 DataSource = DataFactory.GetBaseTypeDevices(1, SelectedLevel); 

  案例二, 主要給大家講解的是,如何采用DataTmeplateSelector通過重寫SelectTemplate方法來實現的。來控制顯示樣式、右鍵菜單等 功能。這里主要講的是,不同服務器之間顯示不一樣,而且連快捷菜單也對應不一樣。這里有個特別說明的是:因為功能顯示的需求,這里把集線器定義為沒有子設 備的模板。還有另外一個功能就是當我按下重啟的時候,斷開按鈕就不能使用。這里用到的是Command。園里前輩們寫了很多這方面的文章,我這里就不對 ICommand進行詳細討論。

  效果圖:圖1-1

  快捷菜單(如下圖):

   

  圖 1-3(路由器快捷菜單)   圖 1-4(交換機快捷菜單) ;      圖1-5(集線器快捷菜單)

  快捷菜單代碼:

 1 <ContextMenu x:Key="RouterMenu">
  2             <MenuItem Header="啟動路由器">
  3                 <MenuItem.Icon>
  4                     <Image Source="..\..\Resource\Connect.png"/>
  5                 </MenuItem.Icon>
  6             </MenuItem>
  7             <MenuItem Header="斷開路由器">
  8                 <MenuItem.Icon>
  9                     <Image Source="..\..\Resource\Break.png"/>
10                 </MenuItem.Icon>
11             </MenuItem>
12         </ContextMenu>
13         <ContextMenu x:Key="SwitchMenu">
14             <MenuItem Header="啟動交換機">
15                 <MenuItem.Icon>
16                     <Image Source="..\..\Resource\Connect.png"/>
17                 </MenuItem.Icon>
18             </MenuItem>
19             <MenuItem Header="斷開交換機">
20                 <MenuItem.Icon>
21                     <Image Source="..\..\Resource\Break.png"/>
22                 </MenuItem.Icon>
23             </MenuItem>
24         </ContextMenu>
25         <ContextMenu x:Key="ConcentratorMenu">
26             <MenuItem Header="啟動集線器">
27                 <MenuItem.Icon>
28                     <Image Source="..\..\Resource\Connect.png"/>
29                 </MenuItem.Icon>
30             </MenuItem>
31             <MenuItem Header="斷開集線器">
32                 <MenuItem.Icon>
33                     <Image Source="..\..\Resource\Break.png"/>
34                 </MenuItem.Icon>
35             </MenuItem>
36         </ContextMenu>

  TreeView模板代碼:

 1 xmlns:LocalTmeplate="clr-namespace:Smlant.DataTemplates"      
  2 
  3  <LocalTmeplate:ContextMenuDataTemplateSelector x:Key=
"ContextMenuDataTemplateSelector"/>
  4 
  5  <!--交換機模板-->
  6         <HierarchicalDataTemplate x:Key="SwitchTemplate" ItemsSource="{Binding ChildNodes}" DataType="{x:Type DataLib:Switcher}">
  7             <StackPanel Orientation="Horizontal" ContextMenu=
"{StaticResource SwitchMenu}">
  8         <Image Source="{Binding ImageUrl}" Margin="2"/>
  9      <TextBlock Text="{Binding Name}" Margin="2" VerticalAlignment="Center"/>
10                 <Button Margin="2" Command=
"{Binding DataContext.OffCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}"
11                         CommandParameter="{Binding}">
12                     <StackPanel>
13                         <Image Source="..\..\Resource\Connect.png" ToolTip="重新連接"/>
14                     </StackPanel>
15                 </Button>
16                 <Button Margin="2" Command="{Binding DataContext.ConnectionCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}"
17                         CommandParameter="{Binding}">
18                     <StackPanel>
19                         <Image Source="..\..\Resource\Break.png" ToolTip="斷開連接"/>
20                     </StackPanel>
21                 </Button>
22             </StackPanel>
23         </HierarchicalDataTemplate>
24         <!--路由器模板-->
25         <HierarchicalDataTemplate x:Key="RouterTemplate" ItemsSource="{Binding ChildNodes}" DataType="{x:Type DataLib:Router}">
26        <StackPanel Orientation="Horizontal" ContextMenu=
"{StaticResource RouterMenu}">
27    <Image Source="{Binding ImageUrl}" Margin="2"/>
28         <TextBlock Text="{Binding Name}" Margin="2" VerticalAlignment="Center"/>
29                 <Button Margin="2" Content="重啟路由" Command="{Binding DataContext.OffCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}"
30                         CommandParameter="{Binding}">
31                 </Button>
32                 <Button Margin="2" Content="斷開連接"  Command="{Binding DataContext.ConnectionCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}"
33                         CommandParameter="{Binding}">
34                 </Button>
35             </StackPanel>
36         </HierarchicalDataTemplate>
37         <!--集線器模板-->
38         <DataTemplate x:Key="ConcentratorTemplate" DataType=
"{x:Type DataLib:Concentrator}">
39             <StackPanel Orientation="Horizontal" ContextMenu=
"{StaticResource ConcentratorMenu}">
40                 <Image Source="{Binding ImageUrl}" Margin="2"/>
41        <TextBlock Text="{Binding Name}" Margin="2" VerticalAlignment="Center"/>
42                 <Button Margin="2" Content="重新連接" Command="{Binding DataContext.OffCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}"
43                         CommandParameter="{Binding}"/>
44                 <Button Margin="2" Content="斷開連接"  Command="{Binding DataContext.ConnectionCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}"
45                         CommandParameter="{Binding}"/>
46             </StackPanel>
47         </DataTemplate>

  DataTemplateSelector代碼:

 1 public class ContextMenuDataTemplateSelector:DataTemplateSelector
  2     {
  3         public override System.Windows.DataTemplate SelectTemplate
(object item, System.Windows.DependencyObject container)
  4         {
  5             FrameworkElement element = container as FrameworkElement;
  6             DataTemplate template = null;
  7             if (item is Router)
  8             {
  9         template = element.FindResource("RouterTemplate") 
as HierarchicalDataTemplate;
10             }
11             else if (item is Switcher)
12             {
13     template = element.FindResource("SwitchTemplate")
 as HierarchicalDataTemplate;
14             }
15             else if (item is Concentrator)
16             {
17        template = element.FindResource
("ConcentratorTemplate") as DataTemplate;
18             }
19             return template;
20         }
21     }

  ViewModel代碼:  

 1 private List<Device> dataSource;
  2         public List<Device> DataSource
  3         {
  4             get { return dataSource; }
  5             set
  6             {
  7                 if (dataSource != value)
  8                 {
  9                     dataSource = value;
10                     RaisePropertyChanged("DataSource");
11                 }
12             }
13         }
14 
15  DataSource = DataFactory.GetAllTypeDevice(1, SelectedLevel);

  案例三,主要跟大家分享的是,如何在TreeView上實現三態樹的功能。具體什么是三態樹的話我在這里就不多說了。以下是案例三的具體結構圖和代碼:

  結構圖:

  

       圖 1-6(三態樹)

  代碼:具體代碼實現在上面的實體類代碼的 IDevice中實現。請參考上面代碼。

  2.個人觀點

  很多朋友都抱怨說WPF的TreeView是一個很麻煩的東西,而且不好用。這點我持反對的意見,每一種新東西,在我們還不熟悉的時候,是挺麻煩的。但是 WPF--TreeView較WinForm--Tree來說,WPF提供一個強大的模板功能,能讓我們根據自己的需要,靈活地更換模板。如果在做 WinForm開發的時候,我想實現一棵樹上保存N種數據類型的數據,而且根據不同的類型,在節點上顯示不一樣的狀態和樣式,也許你會花很多的時間來重寫 Tree的控件,而WPF提供了一個模板功能,而且具體的模板是我們自己來實現的。

 


標簽:MVVM

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

文章轉載自:博客園

為你推薦

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


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
91成人精品在 | 综合精品一区 | 中日韩高清无专码区2 | 丝袜美腿女邻居人 | 女子初尝黑人巨嗷嗷叫 | 亚洲精品午夜福利片 | 亚洲午夜福利院在线观看 | 欧美一区二区三区免费看 | 欧美视频在线不卡 | 国产精品丝袜黑色高跟鞋 | 午夜在线观看视频 | 国产一区不卡在线观看 | 中文在线观看 | 亚洲国产精品视频免费观看 | 日韩理论片 | 国色一卡2卡二卡4卡乱码 | 国产女主播勾搭美团在线观看 | 亚洲五月六月丁香激情综合 | 成人看的羞羞视频免费观看 | 亚洲精品日韩在线观看高清不卡 | 一区二区欧美日韩高清免费 | 老师喂我乳我脱她内裤 | 亚洲高清精品一区 | 视频一二三区 | 又粗又大又黄又硬高清视频 | 99re热视频这里只有精 | 97影院| 最新热播电影大全 | 中文字幕高清免费日韩视频在线 | 欧美日韩国产激情一区 | 国产精品大白天新婚身材 | 国产精品偷伦视频免费观看 | 美女黄频 | 成人免费一区二区三区视 | 九九九九九在线精品区 | 日韩高清免费视频观看 | 国产又色又爽又黄的网站在线 | 精品一区网友自拍偷拍第一页 | 日韩欧美综合一区二区三区 | 日韩精品午| 国产极品视频一区二区三区 | 海角社真实xxⅹ人伦 | 欧美.成人.综合在线 | 欧美大片在线观看免费视频 | 日韩免费福利试看3分钟 | 国产福利不卡视频在免费 | www.91| 午夜a成v人电影 | 91自产拍在线观看精品 | 91最懂男人的午夜社区 | 日本亲子乱在线播放 | 欧美三级不 | 图片区乱小说区电影区 | 国产日本欧美高清免费区 | 黄页网站大全免费视频网站 | 国产91尤物中文在线 | а天堂中文最 | 亚洲综合另类小说色六月 | 99久热国产精品视频尤物 | 国产一区日韩二区欧美三 | 精品国精品国产自在久国产应用 | 在线欧美鲁香蕉94色 | 精品熟女碰碰 | 免费观看亚洲人成网站 | 99国产清国产精品国产 | 男男做肉爱视频在线观看 | 去卫生间啪到腿软 | 精品国产品 | 亚洲日本欧美日韩精品 | 国产91视频在线观看 | 91国产最 | 蜜臀98精品国产免费观看 | 好吊妞在线新免费视频 | 日本视频| 天堂mv亚洲mv在线播放9蜜 | 影音先锋在 | 亚洲国产精品一在线 | 一级国产片在线 | 二区三区欧美精品在线观看 | 日本亚洲视频在线不卡免费 | 国产精品日韩欧美一区2区3区 | 朝鲜女人大白屁股ass孕交 | 91香蕉高清国产线观看免费 | 亚洲国产自 | 在线观看第一页 | 免费无毒片在线观看 | 成a人片在线观 | 成人午夜污污在线观看网站 | 国产精品国语对白露脸在线播 | 亚洲国产精品自在现线让你爽 | 国产一进一出又大又粗爽视频 | 日韩在线一区二区三区观看 | 亚洲综合色自拍一区 | 三三影院 | 欧美一级欧美一级高清 | 偷拍视频一区二区三区 | 韩国专区福利一区二区 | 综合精品三级亚洲 | 国产老熟女高 | 国产日产欧产精品精品 | 亚洲欧美中文字幕无线 | 日韩欧美精品在线观看 | 最近中文字幕视频高清 | 九九在线精品观看 | 欧美性夜影院亚洲 | 亚洲欧美日本一区二区三区 | 国产未成女一区二区 | 色吊丝中文字幕 | 国产黄a三级三级看三级 | 国产日本韩国视频 | 成人69激情视频在线观看 | 国产老肥熟一区二区三区 | 日本不无在线一区二区三区 | 国产精品爽爽ⅴa在线观看 欧美精品一区二区三区免费 | 国产精品成人免费福利 | 亚洲日韩中文字幕在线播放 | 国产绿帽绿奴一区二区 | 亚洲国内精品自在线影视 | 在线观看第一页 | 伊人插菊网 | 最近免费中文字幕视频高清在线看 | 国产在线视欧美亚综 | 国产精品二区三区 | 国产精品永久免费 | 精品国产久九九 | 不要播放器看在线播放a国产 | 日韩欧美激情刺激 | 欧美校园激情清纯另类 | 99热日韩| 国产亚韩欧美联合在线 | 国产国产精品 | 亚洲精品免播放器在线观看 | 排行榜电视剧全集手机免 | 91羞羞网站 | 亚洲情综 | 乳乱公伦爽到爆 | 亚洲欧美自偷自拍另类视 | 香港日本韩国三级网站 | 日本欧美高清全视频 | 亚洲精品第五页 | 亚洲中文精品视频在线 | 97在线视频免费观看视频免费 | 亚洲最大激情中 | 99国产免线观看九 | 国产鲁鲁视频在线观看 | 亚洲综合色区在线播放 | 国产模特精品私拍在线 | 在线一区二区三区中文字幕 | 亚洲日韩国产综合区 | 国产亚洲福利精品一区二区 | 精品动漫| 国产精品视频第一区二区三区 | 亚洲日韩精品国产一区二区三区 | ⅴa在线观看 | 中文欧美日韩无线码 | 中文字幕高清有码在线中字 | 国产午夜高清高清在线观看 | 国产精品亚洲综合天堂夜夜 | 成人三级视频在线观看不卡 | 香蕉亚洲精品网站国产一二三四 | 91热精品| 欧美激情va永久在线播放 | 香港日本三级在线播放 | 成人精品一区二区户外勾 | 亚洲丰满 | 欧美日韩亚洲二区在线 | 亚洲欧美精品福利一区二区 | 国产黄在线观看免费观看 | 精品综合视频 | 午夜欧美 | 国产91网站在线观看免费 | 中文字幕亚洲欧美色 | 97精品依人久 | 欧美精品一区二区三区不卡网 | 色哟哟网站入口在线观看视频 | 精品性影院一区二区三区 | 成人免费高清视频 | 中文在线日韩 | 欧美激情一区二区亚洲专区 | 亚洲国产韩国欧美在线 | 亚洲欧美日本韩国在线观看 | 中文在线天堂网www 日本高清不卡中文字幕网 anquye | 国产女主播勾搭美团在线观看 | 一本大道香蕉在线 | 欧美在线激情视频 | 韩国三级伦在线观看久 | 黑人巨大跨| 动漫精品一区二区三区四 | 午夜夫妻试看120国产 | 亚洲一区二区在线欧洲 | 最近更新中文字幕2025视频 | 亚洲精品成a人在线观看 | 理论片在线观看 | 在线观看第一页 | 欧美三根一起进三p | 亚洲日本国产一区二区精品成人 | 漂亮的保姆6 | 91精品欧美一区二区综合在线 | 97涩涩| 日本91 | 视频2免费观看 | 亚洲精品911永久在线观看 | 欧美a级情欲片手机在线播放 | 理论片在线电影 | 欧美亚洲一区二区三区 | 欧美精品网站一区二区三区 | 国产哟一区二区三区视频在线看 | 国产精品网站不卡在线观看 | 免费看黄的网址 | 最近中文字幕免费高清mv视 | 欧美xxx| 欧美一级中文字幕免费在线 | 国产综合欧美日韩视频一区 | 天堂va蜜桃一区二区三区 | 午夜福利成人污在线观看 | 夜色在线国产精 | 亚洲国产精品欧美日韩一区二区 | 无人区一码二码三码四码区 | 影院在线播放 | 日韩专区视频 | 亚洲午夜精 | 五月婷婷综合在线视频 | 国产一区二区高清在线国产综合 | 亚洲美精品二区性爱 | 日韩一区二区三区在线 | 国产午夜福利短视频在线观看 | 91欧美在线视频 | 日韩高清va视频 | 欧美一级 | 日本在线观看一区 | 国产香蕉尹人在线观看视频 | 国产乱子伦视频在线观看 | 99热免费精品 | 91绿奴论坛九色国产 | 视频h在线观看 | 夜色国产精品欧美在线观看 | 国产免费人成视频在线观看播放 | 2025中文字幕在线观看 | 性夜黄a爽爽免费视频国产 亚洲日本一区二区一本一道 | a人片在线观看苍苍影院 | 欧美综合自拍亚洲综合网 | 国产在线观看一区二区三区 | 亚洲国产区男人本色 | 成人免费视频软件网站 | 岛国成人免费大片在 | 日本一区二区三区免费乱视频 | 9191中文字幕免费 | 免费观看一区二区三区 | 天黑黑影院免费观看视频在线播放 | 美腿丝袜亚洲综合在线视频 | 欧美性a视频| 在线观看午夜福利片日本 | 亚洲91视频 | 另类专区亚洲 | 亚洲激精日韩激精欧美潮精品 | 成人欧美日韩一区 | 91福利国产午夜亚洲精品 | 欧美乱大交xxxxx变态 | 最新国产网红 | 日韩欧美中文 | 成人自拍电影在线观看 | 伦理片97影视网 | a亚洲欧美中文日韩在线v日本 | 亚洲高清国产拍 | 天堂va蜜桃一区二区三区 | 成人午夜视频精品一区 | 亚洲一区国产一区日韩一区 | 亚洲欧美日本韩国在线观看 | 欧美成精品视频在线观看 | 美女一区二区三区 | 欧美嫩交一区二区三区 | 日韩经典欧美一区二区三区 | 亚洲欧美人成综合在线最新 | 92看片淫黄 | 日本高清va在线播放 | 国产精品丝袜亚洲熟女 | 日韩国产综合在线 | 国产精品亚洲专区在线观看 | 欧美日本高清视频在线观看 | 国产欧美一| 综合欧美国产视频二区 | 99久re热视频这里只有精品6 | 高圆圆又紧又大又湿又爽 | 日韩伦理福利免费 | 中文字幕九热精品视频在线 | 免vip免费观看热播电 | 99精品在线视频 | 亚洲人成中文字幕在线观看 | 精品一区二区三区夜夜嗨 | 中文字幕高清免费日韩视频在线 | 日韩在线看精品免费视频 | 九九热精品视频在线观看 | 北京国贸大酒店张津 | 日韩国产欧美精品综合二区 | 国产香蕉一区二区在线网站 | 欧美精品在线播放 | 码二码三码四码 | 国产三区四区五区 | 另类亚洲小说图片综合区 | 日本中文字幕aⅴ高清看片 午夜色大片在线观看 | 国产在线精品一区二区三区直播 | 免费人成在线视频无 | 九九热线精品视频在线观看 | 日韩在线一区二区三区观 | 私人影视 | 尽享高清电影和精彩影视剧 | 欧美精品午夜一二三区 | 女同另类一区二区三区 | 欧美激情全球免费视频 | 午夜色大片在线观看 | 真实国产普通话对白乱子子伦视频 | 尚好影视 | 一本大道综合伊人精品热热 | 最新精品国偷自产在线观看 | 国产精品三级一区二区 | 成年人免费在线视频观看 | 频道国产在线资源 | 性色aⅴ按摩精品在线 | 中文字幕在线第一页 | 国产乱理伦片在线观看 | 大片视频网站观看 | 免费看日产一区二区三区 | 日本三级韩国三 | 欧美性爱一级a | 99青草青草久热精品视频 | 性夜黄a爽爽免费视频国产 亚洲日本一区二区一本一道 | 亚洲精品中文字幕不卡在线 | 51精品国产人成在线 | 国产91l在线播放 | 国产v综合v亚洲欧美大片 | 国语自产精品视频熟女 | 中文字幕第一页在线 | 日本免费在线观看视频 | 国产l精品国产亚洲区在线观 | 亚洲精品动漫免费二区 | 经典国产乱子伦精品视频 | 国产性猛交╳xxx乱大交 | 国内精品视频在线播放一区 | 国产剧情| 99精品国产 | 国内外精品一区二区三区在线观看 | aⅴ人片在线观看 | 亚洲日韩国产欧美一区二区三区 | 免费人成在线观看vr网站 | 国产传媒一 | 亚洲欧洲精品一二三区 | 国产精品第44页 | 国产情侣套 | 欧美亚洲综合另类视频 | 九九热这里只有精品在线观看视 | 三区四区 | 欧美另类69 | 国产成年人免费在 | 精品一区网友自拍偷拍第一页 | 亚洲一区免 | 欧美激情刺激爽爽影院 | 中文有码vs| 成人午夜试看120 | 亚洲人成在线 | 国产日韩一区美利坚 | 真实国产普通话对白乱子子伦视频 | 国产日本欧美亚洲精品视 | 国产网站免费在线观看 | 成人国产一区二区三区精品 | 午夜一级韩国欧美日本国产 | 欧美大片在线观看免费视频 | 国产一区二区三区免费在线 | 亚洲国产品综合 | 国产亚洲高清不卡在线观看 | 视频一区在线观看 | 亚洲va中文字 | 偷拍美女厕所 | 日美妇视频一区 | 黑人中文字幕在线 | 亚洲欧美日本一区二区三区 | 97视频在线观看视频 | 99电影网 | 国产又刺激又黄又爽又湿 | 全免费a敌| 国产丶欧美丶日本不卡 | 日韩一区二区三区不卡免 | 国产亚洲91精品色在线 | 香蕉免费一区二区三区 | 日本最新免费二区 | 老熟女重囗味 | 免费成人www视频在线观看 | 国产亚洲精品综合一区 | 欧美乱妇日本无乱码特黄大片 | 欧美黑粗特黄午夜大片 | 精品国产欧美在线小说区 | 亚洲日韩天堂网中文字幕 | 两个人的视频www中文 | 欧美囗交xx×bbb视频 | 可以免费观看的电影网 | 免费日韩视频欧美综合图区 | 一区二区三区国产美女在线播放 | 国产福利91精品在线观看 | 国产欧美日韩精品a在线观看高清 | 国产精品免费αv视频 | 欧美日韩国产高清一区二区三区 | 亚洲一区乱码精品中 | 亚洲在在线观看免费视频 | 国产l精品国产亚洲区在线观 | 中文字幕在线视频在线看 | 在线观看精品自拍视频 | 国产直播视频在线播放 | 国产在线视频在线观看 | 欧美日韩国产第1 | 午夜伦情电午夜伦情电影 | 国产精品高清在线观看93 | 99视频经典在线观看的 | 中日欧洲精品视频在线 | 教子做爰xxxx| 亚洲精品乱拍国产一区二区三区 | 国产真实| 精品国产福利一区二区在线 | 在线观看国产h视频 | 欧美日韩在线观看精品 | 天堂中文а | 黑人巨大精品欧美一区二区一 | 日韩欧美综 | 中文精品一区二区三区四区 | 国产真实强奷网站在线播放 | 傲盟下载 | 亚洲国产精品一区二区色99 | 日韩精品专区在线影院重磅 | 日本亲子乱子伦xxxx | 国产精品日产三级在线观看 | 美女黄频 | 国产精品免费入口视频 | 天堂视频 | 国产普通话漏脸在线观看 | 亚洲天堂不卡 | 国产乱子伦对白视频 | 国产精品自在拍在线播放大全 | 欧美日韩一区二区三区自拍 | 精品videossex国产 | 男女午夜视频在线观 | 亚洲制服丝袜一区二区三区 | 中文字幕一区 | 欧美亚洲综合成人专区 | 夜鲁夜鲁很鲁在线视频视频 | 国产成a人亚洲精品无 | 亚洲国产精品国自产拍a∨ 麻花影视在线看电视剧软件 | 国产精品202| 99热这里只有精品23 | 欧美乱伦免费 | 欧美亚洲喷水视 | 国产免费一区二区 | 国产精品黄在线观看免费网站 | 精品国精品自拍自在线 | 女同国产剧情在线观看 | 国产精品素人搭讪在线播放 | 人性情感短 | 亚洲高清在线观看一区 | 免费99精品国产 | 老司机深夜免费福利 | 亚洲欧美人成在线视频 | 日本高清激情乱一区二区三区 | 国产欧美曰韩一区二区三区 | 精品欧美在 | 最新欧美精品一区二区三区 | 国产精品∧v在线观看 | 亚洲国产香蕉碰碰人人 | 一本一本 | 日本免费一区二区在线 | 91视频免费下载 | 国产亚洲精品九九久在线观看 | 韩精品欧美综合区 | 精品国产男人的 | 国产日产免费高清欧美一区 | 日韩成a | 日韩亚洲人成网站在线播放 | 免费人成再在线观看网站 | 日韩欧美精品一区二区三区在线 | 最新国产福利在 | 一二三区 | 另类欧美变态 | 中文字幕永久一区二区三区 | 亚洲va欧洲va日韩v | 九九热精品在线视频观看 | 日韩电影免费观看2025 | 国产精品不卡一区二区 | 国产高清在线精品一区免费97 | 欧美日韩免费观看 | 最近免费中文mv在线字幕 | 两性色午夜免费视频 | 亚洲欧美日韩中文二区 | 国产福利一区二区久 | 丰满的继牳3中文字幕系列 电影推荐 | 超国产人碰人摸人爱视频 | 二区日韩国产精品 | 欧美人与日本人xx在线视频 | 经典大片电影免费在线观看 | 玩弄牲欲强老熟女 | 日韩精品亚洲人成在线观看 | 99国产精品国产精品九九 | 日韩欧美在线视频一区二区 | 一本一道日韩一二三四区免费 | 亚洲人成电影网站国产精品 | 欧美海外国产 | 免费午夜伦费影视在线观看 | 日韩在线视频中文字幕 | 在线午夜福利频在线播放 | 国产黄大片在线观看 | a级在线观看日韩 | 国产日本欧美在线一区二区 | 精品蜜桃秘?一区二区三区 成人年鲁鲁在线观 | 精品影片在线观看的网站 | 99精品综合| 吖v国产在线高清播放 | 三级精品在线观看自拍 | 中文字幕精品一区二区日本大胸 | 免费人成年短视频在线观看网 | 国产综合中文字幕在线 | 伦理片97影视网 | 无遮无挡三级动态图 | 大陆aⅴ国 | 欧美精品a欧洲黑 | 天美麻花星空大全在线观看免费 | 国产一区二区三区四区在 | 欧美日韩国产第1 | 欧美日韩在大午夜爽爽影院 | 亚州精品一区中文字幕乱码 | 日韩大片免费观看 | 一区二区免费国产在线观看 | 日韩精品区一区二免费播放 | 亚洲欧美日韩在线一区 | 在线视频精品免费 | 亚洲精品中文字幕无乱码 | 最新国语自产精品视频在 | 最新韩剧美剧超清全集 | 日本精品大乳一区 | 女女射最新视 | 亚洲午夜视频在线 | 性欧美最新巨大乳 | 99久热只有精品视频免费看 | 日本公与| 另类亚洲图区在线视频 | 国产一区二区免费播放 | 秒拍视频 | 亚洲国产不卡一区二区三区 | 337人体做爰大胆视频 | 亚洲2025天天堂在线观看 | 欧美又粗又大又长又硬一级a | 欧美日韩一区二区不卡三区 | 国产精品99精品一区二区三区 | 国产精品综合在线观看 | 国产精品天天在线午夜更新 | 国产隔着超薄丝袜进入 | 国产不卡高清 | 国产精品一区二区三区免 | 51精品国产人成在线观看 | 亚洲国产日韩在线播放 | 国语对白刺激精品视频 | 国产欧美一区二区另类精品 | 国产精品盗摄一区二区在线 | 国产v综合v亚洲欧美大 | 国内自拍小视频 | 国产在线国偷精品免费看 | 日本一区二区三区在线观看网站 | 欧美一区二区三区日韩免费播 | 日本一区二区在线观看精品 | 欧美伦理电影大全 | 手机在线视频 | 激情欧美日韩一 | 男女爽爽午| 国产精品自在在线午夜 | 成人免费观看男女 | 国产熟女一区二区三区浪潮 | 亚洲日韩在线中文字幕第一页 | 韩国福利影视一区二区三区 | 国产偷伦精品视频 | 国产按摩院在线网站 | 国产一区二区三区美女图片 | a性视频 | 欧美a√在线免费观看 | 国产乱码精品一区二区三 | 水蜜桃国产在线观看免费视频 | 国产伦精品一一区二区三区高清版 | 国产免费人成视频网站在线看 | 国产v综合v亚洲欧美大片 | 轻点灬大ji巴大粗长了视频 | 国产欧美日本亚洲 | 国产精品一区二区亚 | 在线亚洲一区二区三区四区 | 国产熟女一区二区三区浪潮 | 精品视频一区二区三区四区戚 | 国产v欧美v日韩v亚洲老妇 | 国产亚洲aaa在线观看 | 一级欧美一级日韩片 | 黄瓜视频在线播放看片 | 男女超爽视频免费网站播放 | 国产精品黑人一区二区三区 | 福利国产视频一区二区 | 中文字幕永久一区二区三区 | 欧美一区二区三区免费观看视频 | 好看的电影电视剧大全 | 午夜一级韩国欧美日本国产 | 亚洲日韩欧美综合网 | 综合精品欧美乱伦 | 三级三级三级a级全黄三电影 | 欧美曰韩免费一级在线 | 正在播放一区二区 | 中美日韩亚洲高清 | 一级视频亚洲视频在线观看 | 亚洲高清中文字幕 | 精品国产拍国产天天人 | 99视频在线精品免费观看6 | 999任你躁在线精品免费 | 91探花 | 免费成人激情在线 | 国产专区免费资源网站 | 页协和中文字幕 | 国产69公社在线视频 | 一出一进一爽一粗一大视频免 | 中文字幕乱倫视频 | 变态拳头交视频一区二区 | aa中文字幕在线观看 | 免费国产老师高 | 宅男色影视亚洲 | 欧美激情a∨在线视频播放 欧美午夜视频网站在线观看 | 午夜福利国产一区二区视频 | 国产精品欧美亚洲韩国日本不卡 | 日韩亚洲欧美中文高清 | 1024手机看片国产日韩欧美 | 亚洲午夜一区二区三区在线观看 | 91精品国产自产91精品 | 页协和中文字幕 | 欧美亚洲国产另类制服丝袜 | 亚洲精品911永久在线观看 | 尤物国产在线 | 一区二区三区a | 无人区一码二码三码四码区 | 97视频精品全国免费观看 | 国产一级在视频在线观 | 国产精品不卡免费视频 | 亚洲一区二区福利在线观看 | 自制国产2025福利看片 | 亚洲va国产日韩欧美精品 | 亚精区区一区区二在线观看 | 国产一国产二国产三国产 | 午夜高清电影 | x8x8国产在线最新地址 | 亚洲精品日韩在线观看高清不卡 | 最新国产99热这里只有精品 | 国产免费v片在线观看完整版 | 精品国产黑色丝袜高跟鞋 | 国产做国产爱免费视频 | 国产初次在线观看 | 亚洲熟女www一区二区三区 | 国产猛男猛女超爽免费视频 | 午夜福利电影 | 国内精品自产拍在线观看 | 日韩精品无 | 香蕉精品亚 | 国产一区二区三区免费在线 | 人成在线v网站 | 国产盗摄一区二 | 欧美乱妇高清免费96欧美乱妇高 | 亚洲一区二区三区丝袜 | 五十路○の豊満な肉体 | 一区二区日韩激情综合网 | 日本高清在 | 欧美在线精品国自产拍免费 | 精品国精品自拍自在线 | 国产午夜男女爽爽爽爽爽视频 | 欧美ay亚洲ay日韩 | 亚洲成aⅴ人片在线观看www | 一区二区在线免费观看 | 91干屁眼视频 | 国产在线观看精品一区二区三区 | 欧美精品黑人粗 | 亚洲精品视频一卡二卡三卡 | aⅴ另类 | 国产精品日韩精品在线播放 | 亚洲国产呦萝小初 | 宅男66lu国产在线观看 | 免费国产a国产片精品 | 手机在线视频 | 国产日韩欧美在线观看播放 | aⅴ在线视频男人的天堂 | 亚洲国产一区二区在线免费 | 精品国产免费一区二区三区 | 亚洲精品一品区二品区三区 | 国产欧美一级高清片 | 亚洲日韩在线中文字幕综合 | 欧美中文字幕在线第一页 | 亚洲一卡2卡3卡4 | 国产免费一区二区三区在线 | 91视频在线 | 欧美色欧美 | 美女大黄三级视频在线观看 | 国产精品一二三区日韩免费 | 日本一丰满一bbw | 国产偷国产偷亚 | 亚洲一级a大片一级 | 亚洲中文字幕在线精品2025 | 免费安装| 乱码精品一区二区三区四川人 | 国产在线观看一区二区91精品 | 九一国产精品视频 | 欧美日韩另类 | 国产亚洲玖玖精品 | 国产精品高清视亚洲精品 | 小明欧美精品视频在线观看 | 天堂mv亚洲mv在线播放9蜜 | 亚洲国产一区视频 | 日韩精品一区二区三区在线观看 | 午夜理论片yy44880影院 | 福利一区福利二区福利三区 | 国产精品自在拍一区二区不卡 | 免费a级伦费影 | 国产午夜福利精品一 | 国产亚洲精品久 | 亚洲色精品一区二区三区 | 国产亚洲成aⅴ人片在线观看 | 亚洲丝袜在线观看 | 国产精品一在线观看 | 日韩精品免费在线观看 | 欧洲视频一区 | 中国国产免费毛卡片 | 日韩欧美精品综合一区二区三 | 亚洲一区二区三区丝袜 | 免费播放婬乱男女婬视频 | 91极品女神嫩 | 日韩色禁网站永久视频 | 国产综合精品一区二区青青 | 午夜电影网在 | 国产亚洲理论在线观看 | 最新好看的电视剧免费在线观看 | 欧美精品videosex极品 | 在线看免费看国产精品视频 | 中文字幕一区二区三 | 制服丝袜亚洲中文综合 | 搡老女人露脸 | 欧洲乱码伦视频免费国产 | 成人影院在线免费观看 | 亚欧洲乱码视频在线专区网站 | 亚洲色大成网站www永久网站 | 国产在线观看精品一区二区 | 亚洲欧美激情在线 | 国产精品自在自线亚洲 | 日韩欧美一区二区高清视频 | 精品人伦一区二区三区 | 国产日韩在线观看一区福利 | 国产精品亚洲玖玖玖在线靠爱 | 国产精品自拍视频首页 | 国产理论片高清 | 日本簧片 | 国偷自产91 | 色与欲影视天天看综合网 | 日本啊在线观看 | 欧美日韩在线一区 | 中国在线观看免费的www | 自在拍在线播放 | 91污在线观 | 日本高清视频免 | 91福利国产在线观看香蕉 | 欧美日韩一区二区三区四 | 2025亚洲欧美日韩在线观看 | 在线观看第一页 | 码二码三码四码 | 区一区二区三视频日韩 | 中文字幕不卡高 | 日本在线中文字幕第一视频 | 在线观看日本欧美综合色 | 97碰碰碰| 乱理伦片在线播放 | 午夜成人亚洲理伦片在线观看 | 曰韩精品 | 免费高清影院 | 亚洲欧美日韩国产精品一区二 | 制服丝袜第一页在线 | 欧美乱妇高清无乱码在线观看 | 精品含羞草免费视频观看 | 好看的中文字幕aⅴ在线视频 | 国产精品人妇一区二区三区 | 国产91尤物中文在线 | 欧美综合精品一区二区二 | 国产亚洲精品成 | 国产精品日韩在线观看一区二区 | 欧美日韩中 | 亚洲欧美日韩国产精品一区二 | 日韩欧美在线网址 | 91精品一区二区三区在线播放 | 日韩在线国产 | 国产午夜电影在线电影 | 国产精品偷伦费观看 | 国产自产 | 日本护士视频欧美无砖专区 | 亚洲自拍欧美日韩丝袜 | 亚洲色大成网站www永久网站 | 国产精品自在线午夜福利高 | 欧美日韩国产亚 | 日韩精品一区二区三区免费在线 | 无人区一码二码三码区别 | 欧美激情一区二区亚洲专区 | 国产乱码一区二区三区爽爽爽 |