国产凹凸在线-国产拗女一区二区三区-国产白白视-国产白领-国产白拍-国产白丝jk被疯狂输-国产白丝喷-国产白丝在线

金喜正规买球

.Net語言中關(guān)于AOP 的實(shí)現(xiàn)詳解

轉(zhuǎn)帖|其它|編輯:郝浩|2011-03-24 13:19:42.000|閱讀 497 次

概述:文章主要和大家講解開發(fā)應(yīng)用系統(tǒng)時(shí)在.Net語言中關(guān)于AOP 的實(shí)現(xiàn)。LogAspect完成的功能主要是將Advice與業(yè)務(wù)對(duì)象的方法建立映射,并將其添加到Advice集合中。由于我們?cè)贏OP實(shí)現(xiàn)中,利用了xml配置文件來配置PointCut,因此對(duì)于所有Aspect而言,這些操作都是相同的,只要定義了正確的配置文件,將其讀入即可。

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

  文章主要和大家講解開發(fā)應(yīng)用系統(tǒng)時(shí)在.Net語言中關(guān)于AOP 的實(shí)現(xiàn)。LogAspect完成的功能主要是將Advice與業(yè)務(wù)對(duì)象的方法建立映射,并將其添加到Advice集合中。由于我們?cè)贏OP實(shí)現(xiàn)中,利用了xml配置文件來配置PointCut,因此對(duì)于所有Aspect而言,這些操作都是相同的,只要定義了正確的配置文件,將其讀入即可。對(duì)于Aspect的SyncProcessMessage(),由于攔截和織入的方法是一樣的,不同的只是Advice的邏輯而已,因此在所有Aspect的公共基類中已經(jīng)提供了默認(rèn)的實(shí)現(xiàn):

public class LogAspect:Aspect
{
public LogAspect(IMessageSink nextSink):base(nextSink)
{}
}

然后定義正確的配置文件:

<aspect value ="LogAOP">
<advice type="before" assembly=" AOP.Advice" class="AOP.Advice.LogAdvice">
<pointcut>ADD</pointcut>
<pointcut>SUBSTRACT</pointcut>
</advice>
<advice type="after" assembly=" AOP.Advice" class="AOP.Advice.LogAdvice">
<pointcut>ADD</pointcut>
<pointcut>SUBSTRACT</pointcut>
</advice>
</aspect>

  LogAdvice所屬的程序集文件為AOP.Advice.dll,完整的類名為AOP.Advice.LogAdvice。

日志Advice(LogAdvice)

  由于日志方面需要記錄方法調(diào)用前后的相關(guān)數(shù)據(jù),因此LogAdvice應(yīng)同時(shí)實(shí)現(xiàn)IBeforeAdvice和IAfterAdvice接口:

public class LogAdvice:IAfterAdvice,IBeforeAdvice
{
#region IBeforeAdvice Members
public void BeforeAdvice(IMethodCallMessage callMsg)
{
if (callMsg == null)
{
return;
}
Console.WriteLine("{0}({1},{2})",
callMsg.MethodName, callMsg.GetArg(0),
callMsg.GetArg(1));
}
#endregion

#region IAfterAdvice Members
public void AfterAdvice(IMethodReturnMessage returnMsg)
{
if (returnMsg == null)
{
return;
}
Console.WriteLine("Result is {0}", returnMsg.ReturnValue);
}
#endregion
}

  在BeforeAdvice()方法中,消息類型為IMethodCallMessage,通過這個(gè)接口對(duì)象,可以獲取方法名和方法調(diào)用的參數(shù)值。與之相反,AfterAdvice()方法中的消息類型為IMethodReturnMessage,Advice所要獲得的數(shù)據(jù)為方法的返回值ReturnValue。

性能監(jiān)測(cè)方面

  性能監(jiān)測(cè)方面與日志方面的實(shí)現(xiàn)大致相同,為簡(jiǎn)便起見,我要實(shí)現(xiàn)的性能監(jiān)測(cè)僅僅是記錄方法調(diào)用前和調(diào)用后的時(shí)間。

性能監(jiān)測(cè)Attribute(MonitorAOPAttribute)

  與日志Attribute相同,MonitorAOPAttribute僅僅需要?jiǎng)?chuàng)建并返回對(duì)應(yīng)的MonitorAOPProperty對(duì)象:

[AttributeUsage(AttributeTargets.Class)]
public class MonitorAOPAttribute:AOPAttribute
{
public MonitorAOPAttribute():base()
{}
public MonitorAOPAttribute(string aspectXml):base(aspectXml)
{}
protected override AOPProperty GetAOPProperty()
{
return new MonitorAOPProperty();
}

性能監(jiān)測(cè)Property(MonitorAOPProperty)

  MonitorAOPProperty的屬性名將定義為MonitorAOP,使其與日志方面的屬性區(qū)別。除定義性能監(jiān)測(cè)方面的屬性名外,還需要重寫CreateAspect()方法,創(chuàng)建并返回對(duì)應(yīng)的方面對(duì)象MonitorAspect:

public class MonitorAOPProperty:AOPProperty
{
protected override IMessageSink CreateAspect
(IMessageSink nextSink)
{
return new MonitorAspect(nextSink);
}
protected override string GetName()
{
return "MonitorAOP";
}
}

  4.4.2.3性能監(jiān)測(cè)Aspect(MonitorAspect)

  MonitorAspect類的實(shí)現(xiàn)同樣簡(jiǎn)單:

public class MonitorAspect:Aspect
{
public MonitorAspect(IMessageSink nextSink):base(nextSink)
{}
}

  而其配置文件的定義則如下所示:  

<aspect value ="MonitorAOP">
<advice type="before" assembly=" AOP.Advice"
class="AOP.Advice.MonitorAdvice">
<pointcut>ADD</pointcut>
<pointcut>SUBSTRACT</pointcut>
</advice>
<advice type="after" assembly=" AOP.Advice"
class="AOP.Advice.MonitorAdvice">
<pointcut>ADD</pointcut>
<pointcut>SUBSTRACT</pointcut>
</advice>
</aspect>

  MonitorAdvice所屬的程序集文件為AOP.Advice.dll,完整的類名為AOP.Advice.MonitorAdvice。

性能監(jiān)測(cè)Advice(MonitorAdvice)

  由于性能監(jiān)測(cè)方面需要記錄方法調(diào)用前后的具體時(shí)間,因此MonitorAdvice應(yīng)同時(shí)實(shí)現(xiàn)IBeforeAdvice和IAfterAdvice接口:

public class MonitorAdvice : IBeforeAdvice, IAfterAdvice
{
#region IBeforeAdvice Members
public void BeforeAdvice(IMethodCallMessage callMsg)
{
if (callMsg == null)
{
return;
}
Console.WriteLine("Before {0} at {1}",
callMsg.MethodName, DateTime.Now);
}
#endregion

#region IAfterAdvice Members
public void AfterAdvice(IMethodReturnMessage returnMsg)
{
if (returnMsg == null)
{
return;
}
Console.WriteLine("After {0} at {1}",
returnMsg.MethodName, DateTime.Now);
}
#endregion
}

  MonitorAdvice只需要記錄方法調(diào)用前后的時(shí)間,因此只需要分別在BeforeAdvice()和AfterAdvice()方法中,記錄當(dāng)前的時(shí)間即可。

業(yè)務(wù)對(duì)象與應(yīng)用程序

  業(yè)務(wù)對(duì)象(Calculator)

  通過AOP技術(shù),我們已經(jīng)將核心關(guān)注點(diǎn)和橫切關(guān)注點(diǎn)完全分離,我們?cè)诙x業(yè)務(wù)對(duì)象時(shí),并不需要關(guān)注包括日志、性能監(jiān)測(cè)等方面,這也是AOP技術(shù)的優(yōu)勢(shì)。當(dāng)然,由于要利用.Net中的Attribute及代理技術(shù),對(duì)于施加了方面的業(yè)務(wù)對(duì)象而言,仍然需要一些小小的限制。

  首先,我們應(yīng)該將定義好的方面Aspect施加給業(yè)務(wù)對(duì)象。其次,由于代理技術(shù)要獲取業(yè)務(wù)對(duì)象的上下文(Context),該上下文必須是指定的,而非默認(rèn)的上下文。上下文的獲得,是在業(yè)務(wù)對(duì)象創(chuàng)建和調(diào)用的時(shí)候,如果要獲取指定的上下文,在.Net中,要求業(yè)務(wù)對(duì)象必須繼承ContextBoundObject類。

  因此,最后業(yè)務(wù)對(duì)象Calculator類的定義如下所示:

[MonitorAOP]
[LogAOP]
public class Calculator : ContextBoundObject
{
public int Add(int x,int y)
{
return x + y;
}
public int Substract(int x,int y)
{
return x - y;
}
}

  [MonitorAOP]和[LogAOP]正是之前定義的方面Attribute,此外Calculator類繼承了ContextBoundObject。除此之外,Calculator類的定義與普通的對(duì)象定義無異。然而,正是利用AOP技術(shù),就可以攔截Calculator類的Add()和Substract()方法,對(duì)其進(jìn)行日志記錄和性能監(jiān)測(cè)。而實(shí)現(xiàn)日志記錄和性能監(jiān)測(cè)的邏輯代碼,則完全與Calculator類的Add()和Substract()方法分開,實(shí)現(xiàn)了兩者之間依賴的解除,有利于模塊的重用和擴(kuò)展。

  應(yīng)用程序(Program)

  我們可以實(shí)現(xiàn)簡(jiǎn)單的應(yīng)用程序,來看看業(yè)務(wù)對(duì)象Calculator施加了日志方面和性能檢測(cè)方面的效果:

class Program
{
[STAThread]
static void Main(string[] args)
{
Calculator cal = new Calculator();
cal.Add(3,5);
cal.Substract(3,5);
Console.ReadLine();
}
}

  程序創(chuàng)建了一個(gè)Calculator對(duì)象,同時(shí)調(diào)用了Add()和Substract()方法。由于Calculator對(duì)象被施加了日志方面和性能檢測(cè)方面,因此運(yùn)行結(jié)果會(huì)將方法調(diào)用的詳細(xì)信息和調(diào)用前后的運(yùn)行當(dāng)前時(shí)間打印出來。

  如果要改變記錄日志和性能監(jiān)測(cè)結(jié)果的方式,例如將其寫到文件中,則只需要改變LogAdvice和MonitorAdvice的實(shí)現(xiàn),對(duì)于Calculator對(duì)象而言,則不需要作任何改變。

  在《在.Net中關(guān)于AOP的實(shí)現(xiàn)》我通過動(dòng)態(tài)代理的技術(shù),基本上實(shí)現(xiàn)了AOP的幾個(gè)技術(shù)要素,包括aspect,advice,pointcut。在文末我提到采用配置文件方式,來獲取advice和pointcut之間的映射,從而使得構(gòu)建aspect具有擴(kuò)展性。

  細(xì)細(xì)思考這個(gè)問題,我發(fā)現(xiàn)使用delegate來構(gòu)建advice,似乎并非一個(gè)明智的選擇。我在建立映射關(guān)系時(shí),是將要攔截的方法名和攔截需要實(shí)現(xiàn)的aspect邏輯建立一個(gè)對(duì)應(yīng)關(guān)系,而該aspect邏輯確實(shí)可以通過delegate,使其指向一族方法簽名與該委托完全匹配的方法。這使得advice能夠抽象化,以便于具體實(shí)現(xiàn)的擴(kuò)展。然而,委托其實(shí)現(xiàn)畢竟是面向過程的范疇,雖然在.Net下,delegate本身仍是一個(gè)類對(duì)象,然而在創(chuàng)建具體的委托實(shí)例時(shí),仍然很難通過配置文件和反射技術(shù)來獲得。

  考慮到委托具有的接口抽象的本質(zhì),也許采用接口的方式來取代委托更為可行。在之前的實(shí)現(xiàn)方案中,我為advice定義了兩個(gè)委托:

  public delegate void BeforeAOPHandle(IMethodCallMessage callMsg);

  public delegate void AfterAOPHandle(IMethodReturnMessage replyMsg);

  我可以定義兩個(gè)接口IBeforeAction和IAfterAction,分別與這兩個(gè)委托相對(duì)應(yīng):

public interface IBeforeAdvice
{
void BeforeAdvice(IMethodCallMessage callMsg);
}
public interface IAfterAdvice
{
void AfterAdvice(IMethodReturnMessage returnMsg);
}

  通過定義的接口,可以將Advice與Aspect分離開來,這也完全符合OO思想中的“責(zé)任分離”原則。

  (注:為什么要為Advice定義兩個(gè)接口?這是考慮到有些Aspect只需要提供Before或After兩個(gè)邏輯之一,如權(quán)限控制,就只需要before Action。)

  那么當(dāng)類庫使用者,要定義自己的Aspect時(shí),就可以定義具體的Advice類,來實(shí)現(xiàn)這兩個(gè)接口,以及具體的Advice邏輯了。例如,之前提到的日志Aspect:

public class LogAdvice:IAfterAdvice,IBeforeAdvice
{
#region IBeforeAdvice Members

public void BeforeAdvice(IMethodCallMessage callMsg)
{
if (callMsg == null)
{
return;
}
Console.WriteLine("{0}({1},{2})",
callMsg.MethodName, callMsg.GetArg(0),
callMsg.GetArg(1));
}

#endregion

#region IAfterAdvice Members

public void AfterAdvice(IMethodReturnMessage returnMsg)
{
if (returnMsg == null)
{
return;
}
Console.WriteLine("Result is {0}", returnMsg.ReturnValue);
}

#endregion
}

  而在AOPSink類的派生類中,添加方法名與Advice映射關(guān)系(此映射關(guān)系,我們即可理解為AOP的pointcut)時(shí),就可以添加實(shí)現(xiàn)了Advice接口的類對(duì)象,如:

public override void AddAllBeforeAdvices()
{
AddBeforeAdvice("ADD",new LogAdvice());
AddBeforeAdvice("SUBSTRACT", new LogAdvice());
}
public override void AddAllAfterAdvices()
{
AddAfterAdvice("ADD",new LogAdvice());
AddAfterAdvice("SUBSTRACT", new LogAdvice());
}

  由于LogAdvice類實(shí)現(xiàn)了接口IBeforeAdvice和IAfterAdvice,因此諸如new LogAdvice的操作均可以通過反射來創(chuàng)建該實(shí)例,如:

IBeforeAdvice beforeAdvice =
(IBeforeAdvice)Activator.CreateInstance("Wayfarer.AOPSample","Wayfarer.AOPSample.LogAdvice").Unwrap();

  而CreateInstance()方法的參數(shù)值,是完全可以通過配置文件來配置的:

<aop>
<aspect value ="LOG">
<advice type="before" assembly="Wayfarer.AOPSample" class="Wayfarer.AOPSample.LogAdvice">
<pointcut>ADDpointcut>
<pointcut>SUBSTRACTpointcut>
advice>
<advice type="after" assembly="Wayfarer.AOPSample" class="Wayfarer.AOPSample.LogAdvice">
<pointcut>ADDpointcut>
<pointcut>SUBSTRACTpointcut>
advice>
aspect>
aop>

  這無疑改善了AOP實(shí)現(xiàn)的擴(kuò)展性。

  《在.Net中關(guān)于AOP的實(shí)現(xiàn)》實(shí)現(xiàn)AOP的方案,要求包含被攔截方法的類必須繼承ContextBoundObject。這是一個(gè)比較大的限制。不僅如此,ContextBoundObject對(duì)程序的性能也有極大的影響。我們可以做一個(gè)小測(cè)試。定義兩個(gè)類,其中一個(gè)類繼承ContextBoundObject。它們都實(shí)現(xiàn)了一個(gè)累加的操作:

class NormalObject
{
public void Sum(int n)
{
int sum = 0;
for (int i = 1; i <= n; i++)
{
sum += i;
}
Console.WriteLine("The result is {0}",sum);
Thread.Sleep(10);
}
}

class MarshalObject:ContextBoundObject
{
public void Sum(int n)
{
int sum = 0;
for (int i = 1; i <= n; i++)
{
sum += i;
}
Console.WriteLine("The result is {0}", sum);
Thread.Sleep(10);
}
}

然后執(zhí)行這兩個(gè)類的Sum()方法,測(cè)試其性能:
class Program
{
static void Main(string[] args)
{
long normalObjMs, marshalObjMs;
Stopwatch watch = new Stopwatch();
NormalObject no = new NormalObject();
MarshalObject mo = new MarshalObject();

watch.Start();
no.Sum(1000000);
watch.Stop();
normalObjMs = watch.ElapsedMilliseconds;
watch.Reset();

watch.Start();
mo.Sum(1000000);
watch.Stop();
marshalObjMs = watch.ElapsedMilliseconds;
watch.Reset();

Console.WriteLine("The normal object consume
{0} milliseconds.",normalObjMs);
Console.WriteLine("The contextbound object consume {0} milliseconds.",marshalObjMs);
Console.ReadLine();
}
}

  得到的結(jié)果如下:

  從性能的差異看,兩者之間的差距是比較大的。如果將其應(yīng)用在企業(yè)級(jí)的復(fù)雜邏輯上,這種區(qū)別就非常明顯了,對(duì)系統(tǒng)帶來的影響也是非常巨大的。

  另外,在《在.Net中關(guān)于AOP的實(shí)現(xiàn)》文章后,有朋友發(fā)表了很多中肯的意見。其中有人提到了AOPAttribute繼承ContextAttribute的問題。評(píng)論中提及微軟在以后的版本中,不再提供ContextAttribute。如果真是如此,確有必要放棄繼承ContextAttribute的形式。不過,在.Net中,除了ContextAttribute之外,還提供有一個(gè)接口IContextAttribute,該接口的定義為:

public interface IContextAttribute
{
void GetPropertiesForNewContext(IConstructionCallMessage msg);
bool IsContextOK(Context ctx, IConstructionCallMessage msg);
}

此時(shí)只需要將原來的AOPAttribute實(shí)現(xiàn)該接口即可:

public abstract class AOPAttribute:Attribute,
IContextAttribute//ContextAttribute
{
#region IContextAttribute Members
public void GetPropertiesForNewContext
(IConstructionCallMessage ctorMsg)
{
AOPProperty property = GetAOPProperty();
property.AspectXml = m_AspectXml;
property.AspectXmlFlag = m_AspectXmlFlag;
ctorMsg.ContextProperties.Add(property);
}
public bool IsContextOK(Context ctx,
IConstructionCallMessage ctorMsg)
{
return false;
}
#endregion
}

  不知道,IContextAttribute似乎也會(huì)在未來的版本中被取消呢?

  然而,從總體來看,這種使用ContextBoundObject的方式是不太理想的,也許它只能停留在實(shí)驗(yàn)室階段,或許期待微軟在未來的版本中得到更好的解決!

  當(dāng)然,如果采用Castle的DynamicProxy技術(shù),可以突破必須繼承CotextBoundObject的局限,但隨著而來的局限卻是AOP攔截的方法,要求必須是virtual的。坦白說,這樣的限制,不過與前者乃“五十步笑百步”的區(qū)別而已。我還是期待有更好的解決方案。

  說到AOP的幾大要素,在這里可以補(bǔ)充說說,它主要包括:

  1、Cross-cutting concern

  在OO模型中,雖然大部份的類只有單一的、特定的功能,但它們通常會(huì)與其他類有著共同的第二需求。例如,當(dāng)線程進(jìn)入或離開某個(gè)方法時(shí),我們可能既要在數(shù)據(jù)訪問層的類中記錄日志,又要在UI層的類中記錄日志。雖然每個(gè)類的基本功能極然不同,但用來滿足第二需求的代碼卻基本相同。

  2、Advice

  它是指想要應(yīng)用到現(xiàn)有模型的附加代碼。例如在《在.Net中關(guān)于AOP的實(shí)現(xiàn)》的例子中,是指關(guān)于打印日志的邏輯代碼。

  3、Point-cut

  這個(gè)術(shù)語是指應(yīng)用程序中的一個(gè)執(zhí)行點(diǎn),在這個(gè)執(zhí)行點(diǎn)上需要采用前面的cross-cutting concern。如例子中,執(zhí)行Add()方法時(shí)出現(xiàn)一個(gè)Point-cut,當(dāng)方法執(zhí)行完畢,離開方法時(shí)又出現(xiàn)另一個(gè)Point-cut。

  4、Aspect

  Point-cut和advice結(jié)合在一起就叫做aspect。如例子中的Log和Monitor。在對(duì)本例的重構(gòu)中,我已經(jīng)AOPSink更名為Aspect,相應(yīng)的LogAOPSink、MonitorAOPSink也更名為L(zhǎng)ogAspect,MonitorAspect。

  以上提到的PointCut和Advice在AOP技術(shù)中,通常稱為動(dòng)態(tài)橫切技術(shù)。與之相對(duì)應(yīng)的,是較少被提及的靜態(tài)橫切。它與動(dòng)態(tài)橫切的區(qū)別在于它并不修改一個(gè)給定對(duì)象的執(zhí)行行為,相反,它允許通過引入附加的方法屬性和字段來修改對(duì)象固有的結(jié)構(gòu)。在很多AOP實(shí)現(xiàn)中,將靜態(tài)橫切稱為introduce或者mixin。

  在開發(fā)應(yīng)用系統(tǒng)時(shí),如果需要在不修改原有代碼的前提下,引入第三方產(chǎn)品和API庫,靜態(tài)橫切技術(shù)是有很大的用武之地的。從這一點(diǎn)來看,它有點(diǎn)類似于設(shè)計(jì)模式中提到的Adapter模式需要達(dá)到的目標(biāo)。不過,看起來靜態(tài)橫切技術(shù)應(yīng)比Adapter模式更加靈活和功能強(qiáng)大。

  例如,一個(gè)已經(jīng)實(shí)現(xiàn)了收發(fā)郵件的類Mail。然而它并沒有實(shí)現(xiàn)地址驗(yàn)證的功能。現(xiàn)在第三方提供了驗(yàn)證功能的接口IValidatable:

public interface IValidatable
{
bool ValidateAddress();
}

  如果沒有AOP,采用設(shè)計(jì)模式的方式,在不改變Mail類的前提下,可以通過Adapter模式,引入MailAdater,繼承Mail類,同時(shí)實(shí)現(xiàn)IValidatable接口。采用introduce技術(shù),卻更容易實(shí)現(xiàn)該功能的擴(kuò)展,我們只需要定義aspect:(注:java代碼,使用了AspectJ)

import com.acme.validate.Validatable;
public aspect EmailValidateAspect
{
declare parents: Email implements IValidatable;
public boolean Email.validateAddress(){
if(this.getToAddress() != null){
return true;
}else{
return false;
}
}
}

  從上可以看到,通過EmailValidateAspect方面,為Email類introduce了新的方法ValidateAddress()。非常容易的就完成了Email的擴(kuò)展。

  我們可以比較一下,如果采用Adapter模式,原有的Email類是不能被顯示轉(zhuǎn)換為IValidatable接口的,也即是說如下的代碼是不可行的:

  Email mail = new Email();

  IValidatable validate = ((IValidatable)mail).ValidateAddress();

  要調(diào)用ValidateAddress()方法,必須通過EmailAdapter類。然而通過靜態(tài)橫切技術(shù),上面的代碼就完全可行了。


標(biāo)簽:

本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn

文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載

為你推薦

  • 推薦視頻
  • 推薦活動(dòng)
  • 推薦產(chǎn)品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
欧美性猛交xxxx黑人 | 伊人国产在线播放 | 欧美日韩国产精品自在线亚洲精品 | 色国产视频 | 亚洲人成电影在线播放 | 国产精品欧美激情第21页 | www.自拍偷拍.com | 国产高清在线a视频在线观看 | 日本韩国欧美午夜 | 国产精品综合一区二区在线观看 | 九一短视频| 最近最新中文字幕在线第一页 | 国产足脚恋在线观看视频 | 国产两性色午夜视频 | 草b视频在线免费观看 | 国产99re在线播放 | 亚洲国产精品va在线看黑人 | 日本高清乱理伦片中文字幕 | 另类欧美区综合区图片区 | 日韩另类综合自拍亚洲 | 国产性色的 | 日本在线一区三区国产主 | 国产香线蕉手机视频在线观看 | 日韩尤物喷水超多嫩白视频 | 久青草国产在线视频www | 色777狠狠狠 | 国产精品爽片 | 日产欧美电影一区二区三区 | 91大神 | 欧美日韩一区二区三区午夜 | 丰满岳乱妇在线观看中字 | 欧美日韩国产色一区二区 | 国产精品一区欧美日韩制服 | 国产精品夜夜春夜夜 | 欧美一区二区三区视频 | 秋霞影院| 午夜成人亚洲理伦片在线观看 | 免费vip电影电视剧 国产又大又硬 | 亚洲精品1卡2卡三卡23卡 | 国产又黄又大又长又粗又硬视频 | 91午夜福利国产秒播在线观看 | 国产精品成人aaaa网站女吊丝 | 欧美亚洲日本国产黑白 | 亚洲高清一区二区三区四区 | 亚洲人午夜射精精品日 | 91欧美日韩在线 | 免费国产美女爽到喷出水来视频 | 九九热线有精品视频 | 国产日韩欧美一区二区综合 | wwwxxxx精品日本| 国产福利日本一区二区三区 | 欧美偷拍 | 成人免费a| 国产精品首页熟女 | 精选国产911在线 | 亚洲中文字 | 精品国产主播在线亚洲 | 亚洲一本大道中文在线 | 亚洲欧美日韩精品高清 | 日韩欧美不卡视频中文字幕 | 欧美日韩午夜在线视频 | 伦理片mp4| 手机免费在线观看完整版 | 日本三级中文电影 | 欧美a在线看 | 精品国产鲁一鲁一区二区 | 性午夜视频在线观看 | 国产在线观看免费观看不卡 | 欧美日韩国产一区二区三区 | 精品国产欧美一区二区三区成人 | 日本高清免费观看 | 老牛影视精品亚洲一区二区 | 国产日产免费高清欧美一区 | 欧美黑人国产人伦爽爽爽 | 窝窝午夜理论片影院 | 18所黄 | 国产黄大片在线观看视频 | 麻花豆传媒mv在线观看网站 | 91最新欧美日韩 | 在线观看欧美a级精品视频 欧美一级在线观 | 日韩精品专区在线影 | 国产香蕉尹人综合在线观看 | 韩国三级精品 | 日本免费一区二区三区最新vr | 99精产国品一二三产区区 | 免费女人 | 精品视频一区二区三区四区五区 | 日韩一区二区三区波 | 韩国精品一区二 | 日韩一级香蕉片在线观看 | 欧美日韩国产综合视频在线看 | 亚洲经典一区二区三区 | 一级特黄aaa大片在线观看 | 日本精品一区二区中文字幕 | 丝袜视频国产一区 | 欧美精品+在线播放 | 日本乱码视频中文字幕亚洲一区 | 亚洲欧美一区 | 国产亚洲日韩在线播放不卡 | 果冻传媒一区 | 亚洲国产精品 | 欧美国产剧情一区二区 | 大色佬视频在线 | 麻花传媒 | 欧美专区亚洲专区 | 国产卡一卡二卡三卡四卡免费 | 梦乃爱华作品在线观看播放 | 国产精品免费视频观看拍拍 | 特黄三级 | 欧美激情猛片xxxⅹ大3 | 中文字幕一区日韩精品 | 国产网红主播自拍视频在线观看 | 国产精品天干天干 | 又刺激又爽又黄的视频在线观看 | 黑巨茎大战俄罗斯美 | 国产专区在线 | 欧美日韩亚洲高清精品 | 日韩国产 | yin荡护士揉捏乱p办公室视 | 亚洲欧洲日产国码在线 | 欧美不卡一区 | 国产又爽又黄的好看视频 | 免费观看视频超清www | 国产自产拍精品视频免费看 | 日本国产欧美在线观看 | 欧产日产国产精品 | 亚洲欧美中文字幕专区 | 两性色午夜视频 | 欧美乱妇高清无乱码 | 日本亚欧在线观看 | ww欧日韩视频高清在线 | 日韩综合一区在线观看 | 国产男女爽爽爽免 | 午夜男女爽爽爽免费播放 | 国产一级视频免费看 | 爱如潮水视频在线观看 | 一区二区三区在线观看免费 | 国产视频欧美综合 | 欧产日产国产精品国产 | 在线午夜看片福利深夜导航 | 羞羞视频网 | 中文字幕亚洲一区二区va在线 | 国产精品v欧美 | 精品影片 | 综合影视亚洲中文 | 日本欧美一区二区三区高清 | 日本免费国产 | 日韩欧美中文字幕在线观看一区 | 欧美精品爆操白虎 | 婷婷亚洲久悠悠色悠在线播放 | 国产精品福利在线免费观看 | 亚洲日韩视频高清 | 国产福利精品视频 | www.丁香花小说网 | 97亚洲国产中文日韩在线人 | 中文字幕亚洲中文字幕 | 国产精品黄在线观看免费 | 97精品国产一区二区三区 | 国产亚洲一区二区三区成人 | 国产女主播喷水 | 男人亚洲天堂日日夜夜 | 欧美三级在线观看视频 | 视频在线成人 | 521香蕉网欧美 | 日韩免费在线观看性生活视频 | 久操视频网站 | 国产a成人一区二区三区 | 欧美日韩国产网曝台湾 | 国产精品成熟老女人 | 国产偷窥熟女 | 亚洲一区在线视频在线观看 | 亚洲无线 | a级国产乱理 | 欧美人妖aa1片 | 欧洲一区二区三区 | 国语自产偷拍精品视频偷拍 | 亚洲国产精品激情在线观看 | 欧美另类图片视频无弹跳 | 国产制服日韩丝袜 | 美国精品亚 | 国产亚洲精品一区二区在线 | 日韩欧美一区二区三区国产 | 女人与zzzooooxxxx | 欧美视频网站www色 亚洲欧美人高清精品a∨ | 精品国产欧美另类一区 | 国产日韩欧美精 | 热门电视剧追剧网站 | 国产午夜福利院在 | 性直播视频在线观看免费 | 国产一区二区三区欧美在线 | 国产女同互慰高 | 国产精品一区二区不卡的视频 | 日本亚洲国产黄m | 亚洲欧美国产人成在线 | 日本中文字幕免 | 污污视频网站 | 日本女人一级视频在线观看 | 1024国产在线在线视频 | 国产初高中生真实在线视频 | 久9视频这里只有精品试看 伊人成色综 | 国产欧美制服丝袜 | 欧美高清精品一区二区 | 91精品国产午夜福利在线观看 | 精品蓝导航视频福利在线 | 日韩伦理电影大全 | 亚洲综合色区另类aⅴ | 日本动漫在线 | 精品国产理论在 | 99免费精品视频 | 国产高清精品一区二区 | 日本在线免费 | 姐妹5中国版 | 亚洲网站免费观看 | 午夜性爱视频免费 | 久青草国产在线视频高清正片 | 国产精彩对白在线91 | 九九99靖品 | 国产欧美日韩在 | 欧美日韩亚洲精品瑜伽裤 | 国产极品乱码在线观看 | 国产v视频在线亚洲视频 | 99ri视频一区二区三区 | 日韩国产欧美经典 | a级精品国产片在线观看 | 欧美线在线精品观看视频 | 日本xx在线免播放器观看 | 自产小说 | 国产精品第一页 | 好吊妞国产欧美日韩免费观看 | 国产精品自在在线香蕉 | 日韩一区二区三区网址 | 91平台 | 欧美午夜激情 | 四房播播播 | 日韩欧美一区二区奇米 | 精品免费一区二区三区在20 | 99热5| 日本中文高清国产 | 国产区精品自拍 | 欧美自拍偷拍一区二区三区 | 国产91福利小视频在线观看 | 日本欧美一区二区三区片 | 亚洲日本韩国 | 最新热门日韩电影 | 不卡一卡二卡三乱码免费网站 | 日韩综合视频威尼斯在线 | 精品乱码一区 | 国产在线操对白普通话 | 无人区一线二线三线乱码 | 青青手机国产在线视频 | 99国产精品看片 | aaa亚洲男人的天堂 国产丝袜大片 | 免费中文综合乱伦 | 成人精品一区二区户外 | 老司机亚洲精品影院在线 | 国产极品喷 | 色老板精品视频在线观看 | 国产普通话对白视频高清 | 精品亚洲a∨在线播放不卡 国产经典三级在线播放 | 亚洲清色 | 字幕乱码一二三四 | 日韩性爱在线观看 | 偷拍自产在线观看蜜桃 | 日韩精品一区在线观看 | 精品中文一区二区三区在线观看 | 国产乱子伦精品免费高清 | 国产精品揄拍100视频 | 日本香蕉一区二区在线观看 | 日韩精品国产另类专区 | 蜜桃盗摄精品一区二区三区 | 免费观看区一 | 97色伦在色在线播放三级 | 日本特黄特色aaa大片免费 | 欧美另类第一页 | 午夜福利精品在线播放 | 欧美老年人草逼视频 | 国产自国产自愉自愉免费24区 | 亚洲人成网站77777免费 | 一边亲着一面膜下奶53分钟 | 日韩欧美中文字幕综合色 | 曰日夜夜 | 欧美在线一区二区三区欧美 | 欧美处破视频免费观看 | 在线看片国产日韩欧美亚洲 | 国产在线拍偷 | 欧美日韩| 国产亚洲精品综合在线网址 | 蜜桃视频一日韩欧 | 日本精产品久观看视频下站 | 欧美在线观 | 91精品国产自在现偷 | 欧美国产高清欧美 | 妇女偷汉对白视频 | 中文字幕不卡在线观看 | 国产999精品久 | 中文字幕一区二区精品区 | 男人的j放 | 国产自在现线看 | 成人免费视频一区二区 | 日韩gv国产gv欧美旡码天堂 | 亚洲欧洲国产精品香蕉网 | 91青青草 | 蜜桃盗摄精品一区二区三区 | 野花免费观看日本一个电影 | 日本一区二在线播放 | 亚洲日本一区二区三区在线 | 国产亚洲一区二在 | 国产高颜值露脸在线观看 | 乳肉豪妇荡乳在线观看 | 欧美乱妇| 日韩欧美成末人一区二 | 精品一区二区日本高清 | 成人精品鲁一鲁一区二区 | 九九视频免费精品视频免费 | 国产一级特黄aa大片免费 | 国产曰批的免费 | 亚洲欧美中文字幕乱码在线 | 欧美剧国产剧视频在线观看 | 精品视频在线观看 | 黑人巨大精品欧美一区二区在线 | 精品精品国产高清 | 日本免费综合 | 国产高清美女主播在线观看 | 日韩精品视频一区二区三区 | 亚洲精品视频一卡二卡三卡 | 被同桌扒开腿用震蛋器折磨 | 日本影片一区二区 | 欧美韩国电影免费在线观看 | 午夜福利1000集在线观看 | 青青草91 | 嫖妓国产在线观看 | 国产亚洲精品影视在线产品 | 二区62| 精品国产品国语 | 国产精品不卡aⅴ在线播放 国产精品亚洲给色区 | 影视大全电视剧在线播放 | 91丝瓜香 | 国产精品日韩精品 | 久青草视频97国内免费影视 | 成人乱码一区二区三区不卡视频 | 亚洲国产精品va在线播放 | 97se亚洲国产综合自在线观 | 中文字幕亚洲一区二区三区四 | 精品亚洲欧美中文字幕在线看 | 疯狂的激情欧美 | 国产精品亚洲欧美大片在线观看 | 精品国产污污免费网站 | 国产97碰免费视频 | 免费观看的视频黄页 | 果冻文化传媒官网 | 韩国一级成a人片在线观看 日韩高清中文字幕在线观 变态拳头交视频一区二区 免费国产a国产片精品 | 国产精品福利在线观 | 国产精品欧美一区二区 | 人妖欧美精品二区 | 欧美日韩一级无毛 | 51影视网 | 92看片淫黄| 欧美精品国产日韩综合在线 | 国产欧美亚洲精品第一页 | 亚洲视频第一页精品 | 看片不卡顿 | 日韩精品一区国产偷窥在 | 欧美精品玖玖玖在线靠爱 | 自拍偷拍欧美激情 | 欧美亚洲日韩国产综合网 | a级全黄试看30分钟gif动图 | 国产精品专区第二 | 日本一区二区三区四区不卡 | 亚洲午夜日韩 | 欧美xxxxxbb | 欧美日韩v在线 | 免费的又色又爽又黄的片 | 91探花国产| 精品午夜国产福 | 玉足在线观看 | 日本中文字幕在线精品一区 | 国产不卡视频一区二区三区 | 碰97在线免费视频 | jizz国| 国产亚洲无日韩乱码观看不卡 | 国产狂喷潮在线观看 | 亚洲欧美日韩精品综合网 | 女日韩优在线 | 网站资源多午夜 | 丫头13第一次真紧 | 亚洲区小说区图片区qvod | 成年男人午夜片免费观看 | 国产熟女绯色一区二区三区免费 | 成人国产精品一区二区网站 | 蜜芽va亚洲 | 精品一区二区三区3d动漫 | 国产激情精品一 | 大香伊蕉在人线国产最新 | 免费影视资源 | 亚洲人成日韩中文字幕不卡 | 永久在线免费观看美女热比网站 | 中文字幕日韩欧免费视频 | 91福利精品第一导航 | 欧美日韩高清视频一区二区三区 | 一级a毛免费视频在线 | 国产探花 | 日韩中文字幕精品一区在线 | 国产精品视频一区二区噜噜 | 亚洲∧v久 | 欧美日韩一级免费 | 国产欧美在线综合一区 | 婷婷开心五月四房播播人 | 欧美高清性色生活片免费观 | 欧美国产亚洲精品高清不卡 | 国产精品自在拍在 | 日韩伦理电影中文在线 | 国产1区2区3区国产精品 | 国产91精品露脸国语 | 日韩视频在线播放 | 欧美性播放中国 | 成人国产精品高清 | 国产人成午夜免电影费观看 | 国产特黄特色大片免费 | 阿v视频国产免在线手机观看 | 国产极品在线观看极品 | 国产精品17p| 99re在线视| 成人免费区一区二区三区 | 亚洲精品国产精品成人不卡 | 欧美日韩一区二区精品在线观看 | 精品亚洲人旧成在线 | 欧美日本一道免费一区三区 | 99re66热这里只有精品 | 免费看欧美一级特黄a大片一 | 亚洲一区二区三区高清 | 日韩伦理一区二区三区 | 国产精品不卡在线观看 | 中文字幕在线观看不卡 | 日本高清不卡中文字幕网 | 亚洲中文波霸中文字幕 | 二区三区精品视频 | 午夜男女爽爽爽免费播放 | 在线国产久 | 日日夜人人澡人人澡人人看免 | 国产视频中文字幕在线观看 | 亚洲成v人片在线观看福利 日本搞黄在线观看 | 免费高清电影影视大全 | 日日夜夜| 欧美a级毛欧美1级a大片式放 | 国产免费a∨片在线观看播放 | 国产精品成熟老妇女 | 国产欧美精品一区二区三区pp | 亚洲精品天堂在 | a级韩国乱理伦片在线观看 国产日产欧产精品 | 国产欧美精品一区二区三区 | 羞羞影院午夜男女爽爽影视大全 | 99久re热视频这里只 | 欧美日本一区二区综合另类 | 国产野外强奷系列在线 | 又大又长视频一二区 | 伦理电影网 | 国产精品探花一区在线观看 | 欧美一区二区自偷自拍视频 | a级全黄试看30分钟国产 | 国产精品高清一区二区三区 | 日韩中文字幕在线第一页 | 国产亚洲日韩网曝欧美精品 | 国产伦精品一区二区三区精品 | 国产农村妇女成人精品 | 日韩在线中文字幕在线一区 | 电影网在线好看 | 日韩视频在线观看一区二区 | 欧美一级二级一区二区 | 青青在线观看国产大片 | 欧美曰韩一区二区三区 | 日韩精品一区在线播放精品 | 乳肉豪妇荡乳在线观看 | 亚洲女色福利免费视频 | 片专区成人 | 日韩在线欧美 | a级大胆欧| 91po国产在线精品免费观看 | 欧美精品小视频 | 九草在线视频 | 国产精品视频一区二区三区四 | 99久热国产 | 日韩在线观看第一页 | 99sss高清在线视频网 | 欧美激情视频区一区二区在线观看 | 91精品成人免费国产 | 欧州一级婬 | 国自产精品手机在线观看视 | 欧洲女同互添互慰在线观看 | 国产在线精品一区二区在线看 | 日本视频观看无卡免费精品页 | 九九九九精品视频在线播放 | 欧美日韩国产一二三区激情在线 | 不卡日韩欧美亚洲 | 国产黄大 | 欧洲多尺码3538 | 国国产乱理伦片在线观看夜 | 爱丫爱丫影院在线看免费 | 九九视频国产免 | 91香蕉成人免费网站 | 国产欧美精品一区二区 | 国产精品线在线精品 | 夜夜狂射影院欧美极品 | 成全在线观看免费观看第一集 | 欧美性爱超长大吊网站 | 亚洲欧美精品综 | 银杏影院| 电影在线观看 | 国产性高清在线观看 | 一区二区三区在线观看视频 | 99久精品视频 | 欧美日韩国产亚洲综合不卡 | 国产一区二区三区高清在线播放 | 国产开嫩苞实拍在线播放 | 女女同性一区二区三区在线 | 欧美日韩国产va另类试看 | 亚洲免费一区二区 | 日韩在线精品一区 | 99国产免费 | 精品国产亚洲三 | 国内外成人激情免费在线视频 | 欧美激情精 | 欧美多人乱大交xxxxx变态 | 亚洲欧美另类偷窥自拍 | 国产极品美女在线观看网站 | 日本免费最新高清不卡视频 | 国产精品欧美一区二区 | 成在线人永久免费视频播放 | 亚洲福利电影在线观看 | 国产强伦姧在线观看 | 精品国产午夜理论片不卡 | 亚洲精品456人成在线 | 免费的a级片 | 重口sm一区二区三 | 日本三级在线播放线观看免 | 亚洲卡一卡二 | 99精品偷自拍 | 国产伦理精品 | 国产99视频精品免费播放 | 国产一区视频一区欧美 | 国产精品免费一区二区三区 | 国产1区精品 | 国产精品高清自在线 | 92看片婬黄大片看国产片 | 日韩在线一级还看 | 午夜影视在线播 | 国产一区视频在线播放 | 天美传媒在线观看果 | 亚洲熟女丰满多毛xxxxx | 亚洲欧美日韩国产综合 | 日韩免费十五页视频 | 国产乱轮在线观看 | 国产欧美日韩精品综合在线 | 国产在线观看片免费人成视频 | 三级高清精品国产 | 亚欧美精品一区 | 动漫国产在线精品一 | 99爱国产精品免费高清在线观看 | 日韩精品一区二区三区免费在线 | 中文字幕亚洲精品第1页 | 秋霞国产午夜伦午夜福利片 | 欧美激情视频在线播放 | 国产亚洲精品综合一区二区 | 精品成人精品 | 日韩高清电影免费观看 | 欧美日韩黄 | 亚洲精品熟女 | 手机看片1024欧美日 | 国产国拍亚洲精品永久软件 | 欧美日韩在线视频专区免费 | 手机大看福利永久国产 | 欧美日韩一区高清在线观看 | 国产成a人片在线观看视频下载 | 国产xx00在线观看 | 亚洲精品中文字幕视频网站 | 国产精品不卡一区二区三 | 片老司机| 欧美在线不卡一区 | 亚洲一区欧美二区 | 欧美三级a做 | 国产精品h | 国产福利在线观看免费第一福利 | jizz国 | 久播伦理影院影视大全 | 不卡的神马电影网 | 91香蕉国产观看免费人人 | 日本大臿亚洲香蕉大片 | 日韩欧洲在线精品一区 | 日韩福利在线观看 | 国产人成视频在线观看 | 欧美在线成人怡红院 | 日韩福利局二区视频 | 日本卡2卡3卡4卡5卡 | 欧美经典成 | 精品熟女乱伦一区二区三 | 日日摸夜夜摸人人看 | 日本不无在线一区二区三区 | 日韩在线中文字幕视频 | 明星国产欧美日韩在线观看 | 乱码女一区二区三区 | 日本免费综合 | 中文字幕亚洲欧美色 | 国内一级 | 欧美成āⅴ人高清免费观看 | 国产亚洲精品影视在线产品 | 午夜国产精品蝌蚪在线观看 | 国产精品视频全 | 欧美日本日韩五月天 | 亚洲中国 | 欧美日韩视频专区在线播放 | 国产在线精品福利91香蕉 | 欧美a免费| 日韩成人三级在线观看 | 在线观看成人国产精品 | 成人一区二区三区在线观看 | 88国产精品欧美 | 午夜福利精品一区二区三区 | 日韩欧美国产精品专区 | 亚洲综合激情五月丁香六月 | 欧美综合亚洲日韩精品区 | 91大神精品全国 | 日韩精品一区二区三区中文3d | 精品午夜福利1000在线观看 | 亚洲午夜福利院在线观看 | 日韩欧美网站 | 国产又大又硬 | 国产欧美一区二区精品性色99 | 国产自产v一区二区三区c | 17p密泬18p | 日韩精品先免费一区二区三区 | 国产精品偷伦视频免费手机播 | 成片一卡二卡三卡观看 | 欧美日韩国产精品二区在线观看 | 91电影天堂nba国产 | 欧美日韩高清国产aⅴ一区 四区免费视频 | 日本成人一a级黄 | 亚洲成年看 | 日本高清特黄刺激大片 | 国产女同精品 | 国产精品午夜小视频观看 | 国产亚洲日本一区二区三区 | 国产网红情景剧在线观看 | 欧美三级欧美一级 | 成人看片黄a免费看在线 | 免费日本国 | 日韩大片免费观看 | 加勒比综合精品 | 欧美第一页码专区一二区 | 国产91视频一区 | 国产r级福利在线观看 | 亚洲天堂国产视频 | 欧美高清日韩在线 | 91精品国产一区蜜桃 | 国色天香国产精品 | 最新电影电视剧免费在线观看 | 91网在线观看| 日韩欧美一区二区三区视频 | 国产中年熟女 | 午夜dj视频在线观看免费 | 亚洲国产日韩无在线播放 | 成人全部免费观看1314色 | 77色77国产欧美在线 | 欧美激情视频在线播放全球共享 | 欧美性一区二区三区 | 欧美午夜激情 | 亚洲a日本一区二区 | 国产91护士玉足脚交在线播放 | 日韩伦理电影大全 | 一本到国产在线精 | 成·人免费午夜视频含羞草 | 色哟哟精| 国产日韩一区二区不卡视频 | 一区二区三区四区日韩 | 国产门事件真实视频在线 | 国产乱码精品一区二区 | 日本成人精品在线免费观看 | 国内精品 | 国产乱xxⅹxx国语对白 | 免费观看区一 | 免费观看视 | 国产极品美女一区二区三区 | 亚洲成a| 日本在线视频一区 | 国产卡通动漫在线第一页 | 成人拍拍拍在线观看 | 欧美日韩在线亚洲 | 国产午夜一区二区三区影院 | 国产欧美日韩第一区在线 | 99re国产在线观看 | 国产精品一区第二页在线 | 国产区女主播在线观看 | 亚洲欧美| 精品一线二线三线精华液 | 国产欧美综合在线一区二 | 亚洲色成人影院在线观看 | 国产在线一区二区在线视频 | 日韩国产欧美视 | h片在线观看免费观看视频 国产午夜在线激情视频 | 26uuu欧美亚洲另 | 97在线精品免费观看 | 国产精品亚洲产品一区二区三区 | 成人偷窥自拍视频在 | 欧美日韩免费高清一区二区 | 国产精品日韩中文字幕 | 成年午夜福利片在线观看 | 电影网在线好看 | 玖玖玖免费观看视频 | 无人视频在线观看免费播放影院 | 成人拍拍拍在线观看 | 亚洲精品国产77777 | 太大太长太粗太久太硬了 | 亚洲国产尤物高清在线观看 | 欧美日韩在大午夜爽爽影院 | 国产午夜影视大全免费观看 | 国产黄页在线观看黄a∨ | 女人让男人桶 | 国内夫妇精品对白在线播放 | 在线免费观看国产 | 亚洲人成网站77777免费 | 九九精品免费观看在线 | 秋霞人成在线观看免费视频 | 一区二区三区激情 | 欧美系列国产系列一二三四 | 特黄a三级三级三级视频 | 日韩精品免费一区二区三区97 | 视频精品| 91秘入口| 成人精品视频免费 | 精品国产亚洲人成在线观看 | 成人人电影 | 亚洲经典一区二区三区 | 日韩欧美另类亚洲 | а√天堂网www在线搜索 | 国产香蕉尹人视频 | 日韩精品无 | 毕业之后混得很normal | 国产精品艾草在线观看 | 国产传媒果冻天美传媒 | 欧美日韩国产无限码一区 | 日韩美女aa高清在线观看 | 日韩伦理一区二区三区 | 精品国产自在现线免费观看 | 国产精品色午夜在线看 | а√天堂资源官网在线资源 | 国产精品妇 | 国产普通话漏脸在线观看 | 拍拍拍国产美女午夜视频 | 国产欧美一区二区三区 | 国产黄a三级 | 欧美三级中| 精品国产亚洲一区二区三区 | 国产精品亚洲在线播放 | 国产精品视频一区二区三区四区 | a国语精品自产拍在线观看 亚洲一区二区三区不卡视频 | 国产一级在视频在线观 | 在线视频下载 | 亚洲日韩欧美在线观看 | 伊人影院综合 | 日韩一区二区三区不卡免 | 91高清免费国产自产拍 | 国产精品第一区亚洲精品 | 欧美顶级情欲片在线播放 | 国产a网站 | 国产精品我不卡在线观看 | 无毒不卡在线观看无需下载 | 国产性生大| 国产亚洲精品一二三区 | 欧美日韩国产精品一区二区 | 国产91精品一| 91福利国| 国产午夜福利精品一区二区 | 日韩欧美精品综合一区二区三区 | 电影在线免费高清中文 | 9i看片成人免费 | 欧美一级韩国一级日韩一级 | 国产台湾佬国产娱乐 | 午夜影视 | 精品亚洲国产品香蕉在线 | 日本电影一区二区 | 又粗又大又黄又爽的免费视频 | 国产一区国产二区在线精品 | 欧美日韩变态另类在线观看 | 伦理片午夜视频在线观看免费 | 日韩亚洲人成在线综合日本 | 成人午夜免费视频免费看 | 国产在线欧美一区二区 | 成人精品视频一区二区 | 国产精品大全国产精品 | 引领不用下载播放器的影视站 | 日韩亚洲一区二区三区 | 国产欧美日韩综合精品一区二 | 日本亚洲色大成网站www男男 | 日本熟女性爱中文字幕视频 | 国产在线视频一区二区三区 | 免费动漫 | 国产后入清纯学 | 国色天香中文字幕在线视 | 老司机网站在线精品视频 | 91天仙tv国产福利精品 | 国产又爽又 |