日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

模仿Retrofit封装一个使用更简单的网络请求框架

發(fā)布時間:2025/3/21 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模仿Retrofit封装一个使用更简单的网络请求框架 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文已授權微信公眾號:郭霖??在微信公眾號平臺原創(chuàng)首發(fā)。會用Retrofit了?你也能自己動手寫一個!

前言

想封裝一套網(wǎng)絡請求,不想直接上來就用別人寫好的,或者說對項目可以更好的掌控,所以自己模仿著Retrofit來寫一套.

想要有如下實現(xiàn):

  • 快捷的網(wǎng)絡請求調(diào)用
  • 聲明式的定義網(wǎng)絡請求函數(shù)
  • 可以很靈活的變更網(wǎng)絡請求的方式(http,https,socket等)
  • 可以使用自己的線程池或者協(xié)程進行線程調(diào)度
  • ?

    定義網(wǎng)絡請求函數(shù)(如果不使用key來判斷,甚至不需要定義companion object中的LOGIN),示例:

    ?

    調(diào)用網(wǎng)絡請求和接收返回數(shù)據(jù),示例:

    this回調(diào)

    或者匿名內(nèi)部類回調(diào):

    準備和前提

    需要讀者有如下技能,否則閱讀會比較吃力

  • java編程基礎
  • kotlin編程基礎(java經(jīng)驗好可能也無所謂) (kotlin下面簡稱kt)
  • 網(wǎng)絡請求常識
  • ?

    閱讀完本篇文章可以看到(或學到)的知識點

  • 動態(tài)代理的使用和工作原理
  • java和kotlin的部分反射的使用和區(qū)別
  • 聲明和使用運行時注解
  • dsl的創(chuàng)建,使用和原理
  • 封裝的思想(我遇到某些代碼時是怎么想的)
  • 正式開始(從空項目開始,所以每一步都會提及,使用kt寫)

    1.測試網(wǎng)絡和url是否通(不然后面沒法驗證到底是哪的問題)

    這里測試的url使用玩安卓的開放api

    清單文件加入權限

    <uses-permission android:name="android.permission.INTERNET" />

    封裝ROOT_URL

    object HttpConfig {const val ROOT_URL = "https://www.wanandroid.com/" }

    測試如下url是否可用(使用了kt系統(tǒng)庫的擴展函數(shù),和自己定義了一個打印log的函數(shù))

    import java.net.URL class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)thread {URL(HttpConfig.ROOT_URL + "article/list/0/json?cid=1").readText().print()}//這里,如果沒問題的話就會在logcat中打印出本次網(wǎng)絡請求返回的數(shù)據(jù)}}fun Any?.print() = Log.w("lllttt", this.toString())

    2.開始仿照Retrofit的聲明式接口,自己定義一個接口

    網(wǎng)絡回調(diào)的接口

    interface ObserverCallBack {/*** @param data 返回的數(shù)據(jù) json* @param encoding 網(wǎng)絡請求的狀態(tài)(成功,失敗,網(wǎng)絡失敗等)* @param method 判斷是哪個接口返回的數(shù)據(jù)*/fun handleResult(data: String?, encoding: Int, method: Int) }

    聲明的網(wǎng)絡接口

    interface HttpFunctions {/*** 獲取玩安卓的json數(shù)據(jù)* @param cid 這個接口的參數(shù)(雖然不知道有什么用emmm)*/fun getJson(_callback: ObserverCallBack?,cid: String) }

    顯然上面所聲明的網(wǎng)絡接口是沒法直接調(diào)用的,想要調(diào)用一個接口的方法,必須有其實現(xiàn)類,而實現(xiàn)該接口對于便捷的網(wǎng)絡封裝是不現(xiàn)實的,而使用動態(tài)代理,就可以在運行時動態(tài)生成一個實現(xiàn)類,并且還可以使用代碼動態(tài)的控制其函數(shù)的邏輯

    3.使用動態(tài)代理獲取獲取運行時的接口實現(xiàn)類,并獲取運行時數(shù)據(jù)

    動態(tài)代理平時說的挺玄乎,其實使用和理解起來還是很簡單的

    大體原理可以這么理解:動態(tài)的實現(xiàn)一個類,繼承Proxy,并實現(xiàn)所有傳入的接口,然后通過反射創(chuàng)建出來這個類,方法都是默認空實現(xiàn),并且每次調(diào)用方法都會經(jīng)過InvocationHandler的invoke方法,invoke方法里有調(diào)用方法的Method對象,可以反射Method對象來實現(xiàn)代理.

    原理和字節(jié)碼解析:https://mp.weixin.qq.com/s/DMnYWXVx0Gf3Mjs38pfOiA

    主要api:

    Proxy.newProxyInstance()

    該方法一共三個參數(shù),第一個是類加載器,第二個就是被代理的接口class集合,第三個是處理方法的InvocationHandler

    我們可以這樣生成動態(tài)代理:

    interface HttpFunctions {companion object {/*** 動態(tài)代理單例對象*/val instance: HttpFunctions = getHttpFunctions()//獲取動態(tài)代理實例對象private fun getHttpFunctions(): HttpFunctions {val clazz = HttpFunctions::class.java//拿到我們被代理接口的class對象return Proxy.newProxyInstance(//調(diào)用動態(tài)代理生成的方法來生成動態(tài)代理clazz.classLoader,//類加載器對象arrayOf(clazz),//因為我們的接口不需要繼承別的接口,所以直接傳入接口的class就行HttpFunctionsHandler()//InvocationHandler接口的實現(xiàn)類,用來處理代理對象的方法調(diào)用) as HttpFunctions}} }

    接下來我們實現(xiàn)InvocationHandler接口,可以發(fā)現(xiàn)只有一個方法,重寫后打印動態(tài)代理對象調(diào)用的方法名稱和方法參數(shù)(由于使用kt的接口做為被代理,所以可以返回Unit對象)

    /*** 動態(tài)代理類方法處理對象*/ class HttpFunctionsHandler : InvocationHandler {override fun invoke(proxy: Any?, method: Method?, args: Array<out Any>?): Any {method?.name.print()//打印方法名args?.forEach { it.print() }//打印參數(shù)值return Unit} }

    接下來我們調(diào)用動態(tài)代理,測試一下

    HttpFunctions.instance.getJson(null, "1") 打印如下: W/lllttt: getJson W/lllttt: null W/lllttt: 1

    可以看到我們確實拿到了方法名稱和參數(shù)的值

    4.動態(tài)代理結合反射實現(xiàn)網(wǎng)絡請求

    現(xiàn)在我們修改HttpFunctionsHandler的代碼來通過反射拿到參數(shù)名

    override fun invoke(proxy: Any?, method: Method?, args: Array<out Any>?): Any {method?.name.print()//打印方法名args?.forEach { it.print() }//打印參數(shù)值method?.parameters?.forEach { it.name.print() }//打印參數(shù)名return Unit} 但是發(fā)現(xiàn)打印如下: W/lllttt: getJson W/lllttt: null W/lllttt: 1 W/lllttt: arg0 W/lllttt: arg1

    參數(shù)名變成了argx(而且在安卓項目上需要api26以上才能使用),這是為什么呢?

    原來java8之前的版本因為某些原因沒有支持保留方法參數(shù)名的功能,直到java8才支持,且需要手動設置編譯參數(shù),所以此種方案無法實現(xiàn)

    ps:安卓項目使用如下方式只能開啟java8的部分能力(如lambda和stream),不能開啟全部

    compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}

    那Retrofit是怎么繞開這個限制的呢?使用參數(shù)注解,如下:

    //發(fā)表評論@FormUrlEncoded@POST("v1/comment/create")Observable<NetBean<Boolean>> commentCreate(@Field("scene") String scene,@Field("scene_id") Long scene_id,@Field("reply_id") Long reply_id,@Field("content") String content);

    這也太麻煩了,每一個參數(shù)都得對應一個注解,而方法上還需要加兩個注解

    所以我們使用一種更便捷的方式:kt反射

    首先引入kt的反射庫(大小幾百k)

    implementation 'org.jetbrains.kotlin:kotlin-reflect:1.3.71'

    然后改造HttpFunctionsHandler

    override fun invoke(proxy: Any?, method: Method?, args: Array<out Any>?): Any { // method?.name.print()//打印方法名 // args?.forEach { it.print() }//打印參數(shù)值method?.kotlinFunction?.parameters?.forEach {"${it.type} - ${it.name}".print()//打印參數(shù)類型和參數(shù)名}return Unit} 打印結果如下: W/lllttt: com.lt.retrofitdemo.http.HttpFunctions - null W/lllttt: com.lt.retrofitdemo.http.ObserverCallBack? - _callback W/lllttt: kotlin.String - cid

    我們成功的獲取到了參數(shù)名,現(xiàn)在可以再次改造HttpFunctionsHandler,使調(diào)用HttpFunctions的方法就相當于調(diào)用網(wǎng)絡請求

    改造HttpFunctionsHandler (為了方便演示,只適配get請求,且網(wǎng)絡請求方式比較簡單)

    /*** 動態(tài)代理類方法處理對象*/ class HttpFunctionsHandler : InvocationHandler {val handler = Handler(Looper.getMainLooper())override fun invoke(proxy: Any?, method: Method?, args: Array<out Any>?): Any {thread {val kotlinFunction = method?.kotlinFunction//獲取到KFunction對象val url = StringBuilder(HttpConfig.ROOT_URL).append("article/list/0/json?")var callback: ObserverCallBack? = nullkotlinFunction?.parameters?.forEachIndexed { index, kParameter ->when (kParameter.name) {null -> {//HttpFunctions對象,我們不需要}"_callback" -> {//回調(diào)對象,ps:index-1是因為parameters的第0位置是代理類對象callback = args?.get(index - 1) as? ObserverCallBack}else -> {//其他的就是參數(shù)了//進行拼接urlurl.append(kParameter.name).append('=').append(args?.get(index - 1)).append('&')}}}if (url.endsWith('&'))url.deleteCharAt(url.length - 1)//清除最后一個&url.print()val data = URL(url.toString()).readText()//請求網(wǎng)絡handler.post {callback?.handleResult(data, 0, 0)//在主線程回調(diào)}}return Unit} }

    然后調(diào)用封裝后的方法:

    HttpFunctions.instance.getJson(object : ObserverCallBack {override fun handleResult(data: String?, encoding: Int, method: Int) {data.print()}}, "1") 打印如下: W/lllttt: https://www.wanandroid.com/article/list/0/json?cid=1 W/lllttt: {"data":{"curPage":1,"datas":[],"offset":0,"over":true,"pageCount":0,"size":20,"total":0},"errorCode":0,"errorMsg":""}

    可以看到網(wǎng)絡請求調(diào)用很方便,不用使用參數(shù)注解就可以,那kt反射是怎么實現(xiàn)的呢?我們來看一下kt文件反編譯后的字節(jié)碼

    使用kt后會出現(xiàn)上面這個選項,使用該選項可以看到kt文件生成的字節(jié)碼,然后點擊Decompile按鈕可以生成反編譯后的java文件,這樣就能看到我們HttpFunctions.kt類到底有什么

    @Metadata(mv = {1, 1, 16},bv = {1, 0, 3},k = 1,d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\bf\u0018\u0000 \b2\u00020\u0001:\u0001\bJ\u001a\u0010\u0002\u001a\u00020\u00032\b\u0010\u0004\u001a\u0004\u0018\u00010\u00052\u0006\u0010\u0006\u001a\u00020\u0007H&¨\u0006\t"},d2 = {"Lcom/lt/retrofitdemo/http/HttpFunctions;", "", "getJson", "", "_callback", "Lcom/lt/retrofitdemo/http/ObserverCallBack;", "cid", "", "Companion", "app_debug"} ) public interface HttpFunctions {HttpFunctions.Companion Companion = HttpFunctions.Companion.$$INSTANCE;void getJson(@Nullable ObserverCallBack var1, @NotNull String var2); //只展示我們需要的

    可以看到,kt自動為我們的.kt類生成了@Metadata注解(元數(shù)據(jù)注解),其中d2的元數(shù)據(jù)中把我們的類簽名,方法名和參數(shù)名等都列了出來,所以kt反射取到的參數(shù)名就是從這里面取出來的

    5.使用注解來增強功能

    現(xiàn)在我們的HttpFunctions只支持get請求,url也沒地方設置,并且自定義化還沒法做,所以我們使用注解,并搭配運行時反射來增強功能

    創(chuàng)建GET和POST兩個注解

    /*** creator: lt 2020/3/26 lt.dygzs@qq.com** get請求* @param url 請求鏈接* @param isEncryption 是否加密,一般網(wǎng)絡請求都是需要加密的,所以設置了默認參數(shù)為true* @param callbackName 回調(diào)的參數(shù)名*/ @Target(AnnotationTarget.FUNCTION)//表示該注解作用于方法上 @Retention(AnnotationRetention.RUNTIME)//表示該注解保留到運行時 annotation class GET(//在kt中 annotation class 表示注解類,而在java中使用 @interfaceval url: String,val isEncryption: Boolean = true,val callbackName: String = "_callback" )/*** creator: lt 2020/3/26 lt.dygzs@qq.com** post請求* @param url 請求鏈接* @param isEncryption 是否加密* @param callbackName 回調(diào)的參數(shù)名*/ @Target(AnnotationTarget.FUNCTION) @Retention(AnnotationRetention.RUNTIME) annotation class POST(val url: String,val isEncryption: Boolean = true,val callbackName: String = "_callback" )

    接下來我們改造HttpFunctionsHandler的invoke方法,加入注解的判斷

    /*** 動態(tài)代理類方法處理對象*/ class HttpFunctionsHandler : InvocationHandler {val handler = Handler(Looper.getMainLooper())override fun invoke(proxy: Any?, method: Method?, args: Array<out Any>?): Any {if (method.declaringClass == Any::class.java) {//處理Object類的方法return (if (args == null) method.invoke(this) else method.invoke(this, *args))}//ps:這里為了方便就直接new Thread了,如果是使用的話可以使用線程池或者kt協(xié)程,消耗會低很多,一般項目中是不允許直接new Thread的thread {//獲取方法的注解,先獲取get注解,如果為空就獲取post注解; ps:自己用的時候可以先獲取常用的注解,這樣就不用判斷兩次了,比如項目里大部分都是post請求,那就先獲取POSTval annotation =method?.getAnnotation(GET::class.java)?: method?.getAnnotation(POST::class.java)//代碼不要都堆到一塊,而是應該拆成方法或者類,這樣調(diào)用的時候只調(diào)用一個方法,邏輯會清晰很多; ps:這里其實也可以先判斷常用的,因為kt的when函數(shù)的字節(jié)碼其實也是if elsewhen (annotation) {is GET -> startGet(proxy, method, args, annotation)is POST -> startPost(proxy, method, args, annotation)else -> throw RuntimeException("親,${method?.name}方法是不是忘加注解了?")//如果出現(xiàn)異常情況,最好不要藏著,及時告訴開發(fā)人員,不然出了問題也不知道是怎么回事,得找好長時間}}return Unit}//post請求private fun startPost(proxy: Any?, method: Method?, args: Array<out Any>?, post: POST) {//post就不寫了,大家可以在這里二次封裝網(wǎng)絡請求,比如使用okhttp,或者使用Socket,甚至可以用別人二次或者三次封裝好的網(wǎng)絡請求}//get請求private fun startGet(proxy: Any?, method: Method?, args: Array<out Any>?, get: GET) {//獲取url并拼接val url = StringBuilder(HttpConfig.ROOT_URL).append(get.url)val callbackName = get.callbackNamevar callback: ObserverCallBack? = nullvar isAddQuestionMark = false//是否追加了'?'method?.kotlinFunction?.parameters?.forEachIndexed { index, kParameter ->when (kParameter.name) {null -> {//HttpFunctions對象,我們不需要}callbackName -> {//回調(diào)對象,ps:index-1是因為parameters的第0位置是代理類對象callback = args?.get(index - 1) as? ObserverCallBack}else -> {//其他的就是參數(shù)了if (get.isEncryption) {//加密操作} else {//進行拼接urlif (!isAddQuestionMark) {url.append('?')isAddQuestionMark = true}url.append(kParameter.name).append('=').append(args?.get(index - 1)).append('&')}}}}if (url.endsWith('&'))url.deleteCharAt(url.length - 1)//清除最后一個&url.print()val data = URL(url.toString()).readText()//請求網(wǎng)絡handler.post {callback?.handleResult(data, 0, 0)//在主線程回調(diào)}} }

    然后改變網(wǎng)絡請求方法,再調(diào)用測試成功

    //修改網(wǎng)絡請求 @GET("article/list/0/json", isEncryption = false) fun getJson(_callback: ObserverCallBack?,cid: String )

    6.使用dsl封裝回調(diào),使其更方便的處理

    寫一個簡單的dsl,里面參數(shù)比較少,可以根據(jù)業(yè)務需求自行添加參數(shù)

    import com.alibaba.fastjson.JSONObject import com.lt.retrofitdemo.print/*** creator: lt 2020/3/26 lt.dygzs@qq.com* effect : 網(wǎng)絡請求回調(diào)的sdl封裝* warning:*/ /*** 使用dsl的callback* ps: CallBackDsl.()這種語法相當于CallBackDsl的一個擴展函數(shù),把CallBackDsl當做這個函數(shù)的this,所以該函數(shù)中可以不用this.就可以調(diào)用CallBackDsl的參數(shù)和方法*/ inline fun <reified T> callbackOf(initDsl: CallBackDsl<T>.() -> Unit): ObserverCallBack {val dsl = CallBackDsl<T>()dsl.initDsl()//初始化dslif (dsl.isAutoShowLoading)"Show loading dialog".print()return object : ObserverCallBack {override fun handleResult(data: String?, encoding: Int, method: Int) {if (dsl.isAutoShowLoading)"Dismiss loading dialog".print()//可以在這里根據(jù)業(yè)務判斷是否請求成功//引入fastjson來解析json implementation 'com.alibaba:fastjson:1.2.67'val bean = JSONObject.parseObject(data, T::class.java)if (bean != null) {dsl.mSuccess?.invoke(bean)} else {dsl.mFailed?.invoke(data)}}} }class CallBackDsl<T> {/*** 網(wǎng)絡請求成功的回調(diào)*/var mSuccess: ((bean: T) -> Unit)? = nullfun success(listener: (bean: T) -> Unit) {mSuccess = listener}/*** 網(wǎng)絡請求失敗的回調(diào)*/var mFailed: ((data: String?) -> Unit)? = nullfun failed(listener: (data: String?) -> Unit) {mFailed = listener}/*** 是否自動彈出和關閉loading*/var isAutoShowLoading = true }

    改造后的回調(diào)

    7.擴展

    其實還有一個Retrofit很常用的功能我沒有實現(xiàn)出來,那就是方法的返回值,其實我們實現(xiàn)起來也很簡單(當然實現(xiàn)Retrofit那么強很難....)

    我們可以使用反射來創(chuàng)建返回值,如下所示

    改造HttpFunctionsHandler.invokeval returnType = method?.returnTypeval newInstance = returnType?.newInstance()returnType?.fields?.forEach {it.set(newInstance, "根據(jù)業(yè)務邏輯來判斷設置什么內(nèi)容")}return newInstance!!

    8.混淆

    如果打開了混淆的話,不配置以下內(nèi)容會導致運行時報錯;如果不開啟混淆則可以忽略

    -keepclassmembers public interface com.lt.retrofitdemo.http.HttpFunctions {*;}#防止自定的接口方法名被混淆 -keepclasseswithmembernames public interface com.lt.retrofitdemo.http.ObserverCallBack {*;}#因為使用到了反射,所以回調(diào)的類名稱也不能被混淆 -keep class kotlin.reflect.jvm.internal.impl.load.java.**{*; }#防止kt反射被混淆 -keep class kotlin.Metadata{*; }#防止kt元注解被混淆

    結語

    這樣一個網(wǎng)絡請求的封裝基本就搞定了,聲明和調(diào)用都很方便

    中間由于演示,有很多功能都沒有實現(xiàn)或者實現(xiàn)的不完全,大家可以在實現(xiàn)自己的框架的時候可以自行完善,并且可以添加更多的功能

    而且這樣封裝比較靈活,因為具體的邏輯都在HttpFunctionsHandler的startGet和startPost中,所以要更改網(wǎng)絡請求的框架或者切換http和Socket很簡單

    如果想直接這么簡單的使用,又不想自己封裝,可以使用我修改Retrofit使其更易于使用的框架,文章地址:https://blog.csdn.net/qq_33505109/article/details/108767068

    ?

    demo鏈接如下:https://github.com/ltttttttttttt/RetrofitDemo

    ?

    總結

    以上是生活随笔為你收集整理的模仿Retrofit封装一个使用更简单的网络请求框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    免费在线黄网 | 亚洲人毛片 | 国产精品一区二区三区四区在线观看 | 亚洲精品影视在线观看 | 伊人久久婷婷 | 日韩四虎| 在线视频一区观看 | av片子在线观看 | 亚洲成人黄色 | 午夜.dj高清免费观看视频 | 成全免费观看视频 | 在线观看一区 | 伊人狠狠色 | 8x成人在线 | 日韩视频免费看 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 亚洲精品日韩av | 欧美 日韩 成人 | 一区二区三区免费在线播放 | 看黄色91 | 久久视频在线观看 | 看黄色.com | 国内精品视频久久 | 91久久一区二区 | 国产欧美精品一区二区三区四区 | 亚洲一区 av| 欧美精品黑人性xxxx | 成人av一级片 | 亚洲国产999| 欧美精品中文字幕亚洲专区 | 久久久久久麻豆 | 国产成人精品一区二区在线观看 | 13日本xxxxxⅹxxx20 | 91天天操 | 久久午夜精品 | 婷婷九月激情 | 在线中文字幕网站 | 豆豆色资源网xfplay | 久草.com | 久久观看最新视频 | 激情文学综合丁香 | 国产精品系列在线播放 | 国产精品系列在线 | 在线免费看黄色 | 久久综合免费 | 久草在在线视频 | 综合网av| 日本性生活一级片 | 999成人国产| 久久视频网址 | 91xav| 中文字幕日本特黄aa毛片 | 国产丝袜一区二区三区 | 韩国av在线播放 | 91精品日韩 | 免费日韩一级片 | 久草成人在线 | 97在线观视频免费观看 | 狠狠色丁香久久婷婷综合丁香 | 成人小视频在线免费观看 | 日韩成人不卡 | 久久久久久久久久网站 | 国产精品久久久一区二区三区网站 | 国产小视频你懂的 | 99精彩视频在线观看免费 | 亚洲欧洲av | 亚洲综合视频网 | 99国产精品一区二区 | www国产精品com | 98精品国产自产在线观看 | 国产精品影音先锋 | 免费国产一区二区视频 | 日韩欧美在线高清 | 久综合网 | 色在线视频 | 日本xxxx裸体xxxx17 | 亚洲精品国产第一综合99久久 | 天堂va在线高清一区 | 久久人人爽人人 | 亚洲一区二区观看 | 欧美射射射| 国产一区视频在线 | 国产精品九九九 | 久久精品亚洲精品国产欧美 | 色综合色综合色综合 | 国产免费一区二区三区最新6 | 国产免费成人av | 国产成人精品999 | 欧美99精品 | 亚洲精品视频国产 | 天天色天天射综合网 | 五月激情丁香婷婷 | 91在线蜜桃臀 | 国产精品中文字幕在线观看 | 99视频网站 | 亚洲香蕉在线观看 | 国产a视频免费观看 | 超碰在线亚洲 | 久久99精品国产麻豆宅宅 | 国产精品久久久一区二区三区网站 | 成年人在线观看免费视频 | 国产黄在线 | 在线中文字幕观看 | 国产真实在线 | 久久精选视频 | 国产精品久久久av久久久 | 精品在线观看国产 | 久久久精品99 | 久久好看| 免费在线播放 | 亚洲影院色 | 久久dvd| 日日夜夜免费精品视频 | 天天鲁一鲁摸一摸爽一爽 | 日韩欧美一区二区三区免费观看 | 成人久久国产 | 久久久999| 在线精品国产 | 91视频在线国产 | 国产在线p| 国产精品一区二区av麻豆 | 午夜在线日韩 | 久久综合影院 | av资源免费在线观看 | a√天堂中文在线 | 综合影视 | 日韩区欠美精品av视频 | 日韩高清久久 | 91人人揉日日捏人人看 | 亚洲视频aaa| 国产黄在线观看 | 午夜国产一区二区三区四区 | 色激情在线 | 国产黄色片一级 | 中文视频在线 | 一本一道波多野毛片中文在线 | 久久伊人八月婷婷综合激情 | 狠狠色伊人亚洲综合成人 | 99热这里只有精品1 av中文字幕日韩 | 综合色中色 | 亚洲精品国偷拍自产在线观看蜜桃 | 日本天天色 | 国产第一页精品 | 日本精品一区二区在线观看 | 国产精品成人国产乱一区 | 色综合久久综合中文综合网 | 天天色天天射天天干 | 国产爽视频 | 国产亚洲成人网 | 国产一区二区三区四区在线 | 黄色高清视频在线观看 | 日韩av一区二区在线播放 | 精品中文字幕在线观看 | 欧美精品一区二区蜜臀亚洲 | 国产精品 亚洲精品 | 天天综合人人 | 亚洲无毛专区 | 91视频在线国产 | 亚洲国产精品激情在线观看 | 日韩午夜av| 免费看成人a | 视频福利在线 | 中文字幕在线播出 | 91亚洲在线| 免费午夜网站 | 99欧美| 国产一区在线精品 | 免费av的网站 | 日韩激情久久 | 日韩成人一级大片 | 国产一二三区在线观看 | 男女激情片在线观看 | 韩国一区二区在线观看 | 2021国产在线视频 | 国产高清精品在线观看 | 综合精品久久久 | 精品免费国产一区二区三区四区 | 999久久a精品合区久久久 | 成人av网址大全 | 亚洲国内精品在线 | 精品免费久久 | 人人爱人人舔 | 在线观看韩日电影免费 | 国产又粗又猛又色又黄网站 | 国产视频一区二区在线 | 国产精品视频最多的网站 | 伊人婷婷| 国产欧美在线一区二区三区 | 91精品国产乱码在线观看 | 免费碰碰 | 成人免费在线视频观看 | 天天干天天射天天操 | 精品在线观看一区二区三区 | 九九涩涩av台湾日本热热 | 国产成人av综合色 | 欧美激情精品久久 | 一级大片在线观看 | 九九久久成人 | 9色在线视频 | 四虎国产精品永久在线国在线 | 中午字幕在线观看 | 国产自在线 | 日本在线中文在线 | 91禁在线看 | 国产尤物在线观看 | 狠狠的干狠狠的操 | 免费一级片在线观看 | 在线观看一区二区视频 | 欧美另类巨大 | 亚洲最快最全在线视频 | 天天干天天做天天操 | 国产精品综合av一区二区国产馆 | 亚洲精品久久久蜜桃 | 欧美精品久久久久久久久久白贞 | 婷婷综合亚洲 | 久久久久欠精品国产毛片国产毛生 | 在线观看爱爱视频 | 婷婷六月天丁香 | 麻豆视频在线免费观看 | 亚洲欧美日韩精品久久久 | 看av在线| 国产午夜在线观看 | 日韩视频一区二区在线 | 一级a毛片高清视频 | 国产精品 日韩 欧美 | 99精品视频在线免费观看 | 97超碰香蕉| 美女黄频视频大全 | 精品欧美一区二区在线观看 | 久久久久久毛片 | 成人亚洲精品久久久久 | 亚洲 中文 欧美 日韩vr 在线 | 国产视频每日更新 | 黄色大片免费播放 | 国产大尺度视频 | 久久综合色天天久久综合图片 | 亚洲精品456在线播放第一页 | 2022久久国产露脸精品国产 | 亚洲欧洲精品久久 | 麻豆久久精品 | 免费看在线看www777 | 欧美一区二区在线免费观看 | 免费观看91视频大全 | 亚洲一区日韩精品 | 久久99精品久久久久久 | 色综合色综合色综合 | 国产白浆视频 | 人人盈棋牌 | 在线观看不卡的av | 国产成人精品久久二区二区 | 波多野结衣电影一区二区 | 日韩在线免费视频 | 热久久免费国产视频 | 91丨九色丨首页 | 久久久久日本精品一区二区三区 | 久久精品综合 | 久久66热这里只有精品 | 91精品视频在线免费观看 | 中文字幕在线观看网 | 日韩精品视频网站 | 在线看黄色的网站 | 婷婷在线观看视频 | 天天爱综合 | 伊人狠狠色 | 日韩激情片在线观看 | 五月天com| 在线观看日韩精品视频 | 国产精品一区在线 | 天天草天天爽 | 国产精品久久电影网 | 久久免费视频这里只有精品 | 婷婷色社区 | 日韩午夜大片 | 亚洲国产网址 | 九九视频在线观看视频6 | 人人爱在线视频 | av亚洲产国偷v产偷v自拍小说 | www.婷婷色 | 国产在线观看国语版免费 | 亚洲精品日韩av | 天天干天天碰 | www.五月天| 国产精品乱码久久久久久1区2区 | 久久久久久国产精品久久 | www日韩| 精品国产伦一区二区三区观看方式 | 国产91av视频在线观看 | 四虎成人精品永久免费av | 免费观看成人网 | 黄色91在线观看 | 久久精国产 | 日韩久久久久久久久久 | 五月婷婷在线观看 | 久久综合婷婷综合 | 亚洲成人午夜在线 | 五月天丁香视频 | 婷婷精品在线 | 天天操天天草 | 国产精品一区二区在线看 | 九九免费在线观看视频 | 免费观看www小视频的软件 | 国产淫片 | 中文字幕在线乱 | 天天射天天干天天爽 | 69国产精品成人在线播放 | 欧美日韩国产一区二区三区 | 六月激情丁香 | 在线观看mv的中文字幕网站 | 久久免费在线观看 | 国产区网址| 久久综合精品一区 | 狠狠狠色丁香婷婷综合激情 | 成人免费看电影 | 欧美 日韩 国产 中文字幕 | 日韩欧美黄色网址 | 日韩午夜电影网 | 91在线观看黄 | 国产精品一区二区在线看 | 国产精品成人自产拍在线观看 | 激情av资源网 | 免费观看国产精品 | 久久综合色婷婷 | 欧美日韩国产二区三区 | 国产视频 亚洲视频 | 欧美一区二区三区免费看 | 国产a高清| 国产日韩欧美在线免费观看 | 国产精品久久久网站 | 欧美另类v | 欧美一区二区三区四区夜夜大片 | 国产精品区在线观看 | 99精品国产免费久久久久久下载 | 欧美成人xxx| 狠狠的干狠狠的操 | 99爱视频在线观看 | 欧美日韩免费在线观看视频 | 午夜电影一区 | 国产一级电影免费观看 | 高清久久久久久 | 久久精品国产一区二区电影 | 国产精品综合av一区二区国产馆 | 日韩电影在线观看中文字幕 | 久久国产精品影片 | 国产欧美精品xxxx另类 | 麻豆传媒视频观看 | 日韩xxxxxxxxx| 国产精品成人自产拍在线观看 | freejavvideo日本免费 | 久久视频免费看 | 成人黄色在线看 | a v在线观看 | 婷婷社区五月天 | 国产精品一区一区三区 | 精品高清视频 | 国产精品综合在线观看 | 热久久精品在线 | 国产97在线播放 | 欧美天堂视频在线 | japanesexxxxfreehd乱熟 | 日韩mv欧美mv国产精品 | 在线观看香蕉视频 | 色网站在线看 | 国产麻豆视频免费观看 | 国产精品激情在线观看 | 日本精品xxxx | 久久6精品 | 99精品免费久久久久久久久日本 | 五月激情亚洲 | 亚洲精欧美一区二区精品 | 啪啪免费观看网站 | 国产精品电影一区 | 欧美精品免费一区二区 | 九九久久久 | 麻豆视频一区二区 | 在线国产中文字幕 | 免费久久99精品国产婷婷六月 | 97免费| 亚洲国产免费看 | 国产一区二区不卡视频 | 国产综合福利在线 | 欧美一级电影 | 中文字幕乱码日本亚洲一区二区 | 91日韩精品视频 | 精品日韩中文字幕 | 国产精品久久久久久爽爽爽 | 五月天亚洲综合小说网 | 一区二区电影在线观看 | 久久国产精品99久久久久久丝袜 | 免费黄色av.| 成人一级电影在线观看 | 一区二区三区四区在线免费观看 | 超级碰碰碰免费视频 | 一区二区三区av在线 | 久久精品高清 | 免费在线观看中文字幕 | 中文字幕免费高清在线 | 亚洲欧洲精品一区二区 | 久久久久女教师免费一区 | 成人免费视频播放 | 成人黄色一级视频 | 深夜免费福利在线 | 欧美激情精品久久久久久变态 | 大型av综合网站 | 波多野结衣视频一区二区三区 | 日韩高清免费观看 | 亚洲乱亚洲乱妇 | 久久噜噜少妇网站 | 青草草在线视频 | 天堂久色 | 欧美一区二区精美视频 | 国产精品理论在线观看 | 日韩在线视| 亚洲综合在线视频 | 香蕉精品视频在线观看 | 黄色一区二区在线观看 | 99精品热视频只有精品10 | 久 久久影院 | 亚洲狠狠操 | 精品免费视频123区 午夜久久成人 | av一级二级 | 在线视频欧美精品 | 国产福利一区二区三区在线观看 | 日韩精品中文字幕在线播放 | 亚洲天堂自拍视频 | 中文字幕专区高清在线观看 | 国产成人免费高清 | 视频在线观看入口黄最新永久免费国产 | 最新国产一区二区三区 | 久久99电影 | 丁香五香天综合情 | 日日日日 | 色综合久久88色综合天天人守婷 | 亚洲午夜精品久久久久久久久 | 亚洲jizzjizz日本少妇 | 国产精品久久久久久久av电影 | 亚洲观看黄色网 | 国产亚洲91 | 天天操天天射天天添 | 日本精品一二区 | 日韩电影在线观看一区二区三区 | 天天操天天摸天天射 | 在线免费三级 | 国产精品成久久久久三级 | 欧美精品一级视频 | 成人一级片视频 | 日韩丝袜在线观看 | 麻豆免费在线播放 | 欧美性受极品xxxx喷水 | 精品国产一区二区三区久久久蜜臀 | 国产成人一区三区 | 久草在线资源免费 | 亚洲精品国偷自产在线91正片 | 国产精品一区二区在线观看 | 91毛片在线观看 | av五月婷婷| 日韩欧美在线综合网 | 精品中文字幕在线播放 | 国产在线成人 | 最近中文字幕mv免费高清在线 | 五月激情久久久 | 在线播放日韩 | 91插插插网站| 久久区二区 | 久久99视频免费观看 | 在线视频一区观看 | 久久99久国产精品黄毛片入口 | 日韩一区正在播放 | 国产人成在线观看 | www.夜夜夜 | 国产不卡免费 | 久久手机视频 | 欧美一级片免费在线观看 | 狠狠狠狠狠狠 | av黄色成人 | 亚洲视频在线免费观看 | 成人久久18免费网站图片 | 九九九热精品免费视频观看网站 | 成人蜜桃网 | 中日韩三级视频 | 中文字幕亚洲国产 | 亚洲精品乱码久久 | a在线视频v视频 | 久久久久久蜜av免费网站 | 超碰97网站| 丁香久久久 | 国产免费人人看 | 丝袜av网站 | 成人免费视频网站在线观看 | 日韩最新av | 成人午夜电影网 | 国产精品久久久久久久久久 | 福利视频网址 | 免费在线观看一区二区三区 | 最近乱久中文字幕 | 一区二区三区在线观看中文字幕 | www,黄视频 | 成人免费在线观看av | 久久国产露脸精品国产 | 国产精品系列在线观看 | 不卡日韩av | 天天摸夜夜添 | 在线成人性视频 | 99色国产 | 亚洲精品在线视频网站 | www178ccom视频在线 | 日一日操一操 | 日韩欧美精品在线观看视频 | jizz欧美性9| 免费看成年人 | 天堂av在线7 | 免费久草视频 | 国产精品手机视频 | 国偷自产视频一区二区久 | 在线免费黄网站 | 在线最新av | 日本中文字幕在线免费观看 | 亚洲精品午夜久久久久久久 | 国产资源网站 | 午夜精品av | 精品久久久久久一区二区里番 | 在线观看午夜 | www.久久精品视频 | 国产精品久久久久久久久久久免费看 | 亚洲国产999| 国产精品久免费的黄网站 | 日韩在线色视频 | 中文字幕第一页av | 在线看的毛片 | 激情丁香在线 | 香蕉视频在线看 | 性色在线视频 | 十八岁免进欧美 | 中文字幕一区二区三区在线观看 | 五月天堂网 | 久久香蕉国产 | 成人国产在线 | 超碰在线人人97 | 久久国产片 | a资源在线 | 成年人在线观看视频免费 | 国模视频一区二区 | www.天堂av| av亚洲产国偷v产偷v自拍小说 | 久久免费播放 | 国产精品第一页在线 | 亚洲精品视频中文字幕 | 国产精品视屏 | 久久久国产精品一区二区三区 | 欧美亚洲精品一区 | 四虎影视成人永久免费观看亚洲欧美 | 丁香六月天 | 一区二区毛片 | 黄色一级大片在线免费看产 | 亚洲精品字幕 | 91在线观看黄| 日批视频 | 天天操天天操 | 青青草国产精品 | 波多野结衣小视频 | 91看片在线看片 | 91理论片午午伦夜理片久久 | 成人性生交大片免费看中文网站 | 欧美成人精品欧美一级乱 | 久久精品国产精品亚洲 | 不卡中文字幕av | 国内精品国产三级国产aⅴ久 | 中文字幕视频播放 | 欧美男同视频网站 | 五月婷婷黄色网 | 免费av片在线 | 中文字幕永久在线 | 五月综合色 | 一区二区欧美激情 | 日本最新高清不卡中文字幕 | 最新av电影网址 | 五月婷久久 | japanesexxxhd奶水 国产一区二区在线免费观看 | 久久精品三 | 在线中文字幕av观看 | 日本一区二区三区免费看 | 亚洲一级片在线看 | 91av视频观看 | 国产99一区视频免费 | 国产亚洲观看 | 亚洲成人精品影院 | 久久影院中文字幕 | 91av视频播放 | 91免费的视频在线播放 | 欧美a级在线播放 | 午夜精品一区二区国产 | 99r精品视频在线观看 | 深爱婷婷激情 | 天天操比 | 狠狠狠色丁香婷婷综合久久五月 | 狠狠色丁香婷婷综合最新地址 | 婷婷激情综合网 | 丁香网婷婷 | 在线观看黄色小视频 | 久久精品中文字幕 | 九九精品视频在线观看 | 国产日韩欧美中文 | 一级黄视频 | 成片免费观看视频大全 | 91高清免费看 | 久久99精品久久久久久 | 国产精品av免费 | 中文av字幕在线观看 | www.久久久精品 | 黄色网址在线播放 | 伊人春色电影网 | 久久久久久久久免费 | 久久精品在线免费观看 | 国产一级在线视频 | 国产免费看 | 免费视频成人 | 国产色婷婷| 国产无遮挡猛进猛出免费软件 | 日韩在线电影一区二区 | av黄色成人| 久久免费精品国产 | 久久综合九色综合欧美狠狠 | 日韩高清一区二区 | 国产在线观看a | 久久99精品久久只有精品 | 日本精品一| 精品日韩中文字幕 | 久久久久精 | 99热官网 | 国产成人免费在线观看 | 丁香婷婷色 | 久久香蕉国产精品麻豆粉嫩av | 三级动图| 最新国产在线 | 九九热在线观看视频 | 免费在线日韩 | 国产一二三在线视频 | 一区二区三区高清不卡 | 亚洲精品字幕 | 在线观看日韩视频 | 欧美成人视 | 国产日本在线 | 美女网站一区 | 日韩乱理 | 婷婷色中文 | 一区二区精品在线观看 | 麻豆首页| 欧美在线视频第一页 | 国产精品永久在线 | 色综合久久久久久中文网 | 亚洲专区欧美 | 色av网站 | 国产一级性生活视频 | 成人黄色大片网站 | 国产一区二区三区黄 | 久久精品激情 | 欧美一级久久 | 日韩av福利在线 | 三级在线视频观看 | 有码中文在线 | 日韩免费在线看 | 97久久精品午夜一区二区 | 99视频在线免费观看 | 2018好看的中文在线观看 | 国产成人免费网站 | 亚洲九九精品 | 亚洲成人黄色在线观看 | 午夜色场| 精品国产一区二区三区不卡 | 国产免费亚洲高清 | 国内外成人免费在线视频 | 99久久99| 亚洲日本一区二区在线 | 免费看片日韩 | 免费看成人av | 亚洲高清网站 | 九色视频网址 | 久草在线视频免费资源观看 | 亚洲婷婷伊人 | 国产不卡在线视频 | 人人爽网站| 毛片网站免费在线观看 | 午夜影视一区 | 国产日产精品一区二区三区四区的观看方式 | 亚洲欧美乱综合图片区小说区 | 九九在线高清精品视频 | 精品国产激情 | 日韩精品一区二区三区免费观看视频 | 福利一区视频 | 五月花激情 | 亚洲乱码久久久 | 中文字幕在线乱 | 在线观看视频在线 | 久久免费在线视频 | 亚洲在线成人精品 | 日韩精品中文字幕av | 日韩av在线看 | 午夜视频在线观看一区二区三区 | 欧美激情视频一区二区三区 | 99精品在线视频播放 | 我爱av激情网| 免费a视频 | 色吊丝在线永久观看最新版本 | 在线视频婷婷 | 亚洲成人网在线 | 51久久成人国产精品麻豆 | 在线免费观看国产黄色 | 91av原创 | 天天色天天干天天色 | 久久伦理网 | 久久久久久久久久久久久久电影 | 日韩午夜在线观看 | 国产精品麻豆视频 | 欧美日本啪啪无遮挡网站 | 91av在线精品| 91插插视频 | 欧美精品一区二区蜜臀亚洲 | 黄色在线小网站 | 涩涩网站在线看 | 狠狠干狠狠久久 | 亚洲精品中文在线资源 | aa级黄色大片 | 久久久国产影视 | 欧美日韩亚洲第一 | 成人国产精品一区 | 日韩免费在线看 | 夜夜操天天摸 | 色国产视频 | 久久久久久高潮国产精品视 | 一区二区伦理电影 | 欧美成人精品xxx | 天天干,天天干 | 欧洲视频一区 | 国产精品高潮久久av | 欧美a级片网站 | 蜜臀av在线一区二区三区 | 色婷婷综合久久久中文字幕 | 国产欧美精品在线观看 | 黄色成年 | 亚洲女同videos | 免费久久久 | 天天干,狠狠干 | 国产精品久久久久久影院 | 免费特级黄色片 | 91精品在线观看入口 | 午夜精品一二区 | av黄色免费在线观看 | 区一区二区三区中文字幕 | 在线中文字幕av观看 | 99热9| 中文字幕在线观看完整版 | 人人精品 | 在线看国产| 久久久久五月 | 麻豆视频国产 | 手机成人av在线 | 欧美在线视频一区二区 | 99精品在线观看视频 | 国产123av| 久章操| 日韩毛片精品 | 91av视频网 | 久久综合色一综合色88 | 国产成人一区二区在线观看 | www欧美色 | 久久久人人爽 | 四虎在线永久免费观看 | www178ccom视频在线 | 国产精品久久久久毛片大屁完整版 | 精品一区二区综合 | 久久av免费观看 | 欧美大片第1页 | 色网站国产精品 | 久久久久久久久久久久电影 | 夜夜躁狠狠躁日日躁 | 免费人成网 | 亚洲精品无 | 欧美日韩精品在线观看视频 | 99久久99久久精品国产片 | 中文字幕av网站 | 在线观看你懂的网站 | 久久夜色精品国产欧美乱极品 | 美女视频是黄的免费观看 | 丁香花在线观看视频在线 | 国产欧美日韩视频 | 欧美色婷| 成人av教育 | 九九视频精品在线 | 午夜精品婷婷 | 久久久久亚洲精品中文字幕 | 国产精品美女久久久久久久网站 | 麻豆 free xxxx movies hd| 色欧美成人精品a∨在线观看 | 欧美日韩国产精品一区二区三区 | 麻豆视频一区 | 久久综合婷婷国产二区高清 | 国产对白av | 国产精品视频观看 | 成全在线视频免费观看 | 亚洲视频h| 精品久久国产一区 | 国产视频一区在线播放 | 一级片视频在线 | 国产日韩欧美在线观看 | 午夜精品久久久久久久99无限制 | 国产精品视频免费在线观看 | 91亚洲夫妻| 色黄www小说 | 午夜狠狠操 | www视频在线播放 | 亚洲综合网站在线观看 | 国产在线观看h | 一区二区视频欧美 | 国产福利a | 一区二区视频在线播放 | 日韩视频免费观看高清完整版在线 | 国产精品成人自产拍在线观看 | 狠狠狠狠狠狠天天爱 | 特黄特色特刺激视频免费播放 | av一区二区在线观看中文字幕 | 在线观看国产区 | 91看片在线播放 | www.午夜| 五月花激情 | 久久亚洲免费 | 久久伊人婷婷 | 91视频免费播放 | 91国内产香蕉 | 高清一区二区三区 | 免费在线观看污网站 | 久久99精品国产麻豆宅宅 | 一级a毛片高清视频 | 日韩一二区在线观看 | 91热精品| 国产成人精品综合 | 在线观看久久 | 日日夜夜添 | 一区二区高清在线 | 五月婷婷亚洲 | 91麻豆精品91久久久久同性 | 久久国产视屏 | 在线播放亚洲激情 | 国产精品一码二码三码在线 | 日韩免费中文字幕 | 久草男人天堂 | 2023国产精品自产拍在线观看 | 国产精品男女啪啪 | 国内揄拍国产精品 | 中文字幕不卡在线88 | 国产精品精品久久久久久 | 人人舔人人干 | 欧美不卡视频在线 | 超碰人人91 | 一本一道久久a久久综合蜜桃 | 狠狠网站 | 亚洲桃花综合 | 99精品国产福利在线观看免费 | 中文字幕视频网站 | 美女网站免费福利视频 | 91尤物国产尤物福利在线播放 | 中字幕视频在线永久在线观看免费 | 国产专区在线 | 成人av网址大全 | 在线 日韩 av| 99精品视频在线观看播放 | 国产精品免费人成网站 | 97在线观看 | 国产在线精品视频 | 婷婷色吧 | 欧美成人日韩 | 一区国产精品 | 国产精品麻豆果冻传媒在线播放 | 成人精品视频久久久久 | 亚洲欧洲av| 久久ww| 亚洲一级片免费观看 | 久久久久国产精品厨房 | 天天艹天天 | www.久久久.com | 国产精品一区二区久久精品爱微奶 | 成年人免费看的视频 | 日韩欧美大片免费观看 | 日日碰夜夜爽 | 久草在线免费电影 | 国产一区二区久久久久 | 一级a毛片高清视频 | 久久99日韩 | 天天天干天天射天天天操 | 国产小视频免费观看 | 99精品视频免费全部在线 | 免费欧美 | 欧美日韩不卡在线视频 | 日韩 在线观看 | 国产精品中文字幕在线播放 | 少妇bbw撒尿| 欧美色婷| 91av网址 | 婷婷在线网 | 日韩高清一区二区 | 五月天婷亚洲天综合网精品偷 | 日日草视频 | 波多野结衣精品 | 午夜体验区| 亚洲成人黄色网址 | 911亚洲精品第一 | 亚洲欧美视频一区二区三区 | 久久99最新地址 | 狠狠躁夜夜a产精品视频 | 成年人视频在线观看免费 | 三级av免费观看 | 中文字幕亚洲国产 | 亚洲免费在线观看视频 | av综合在线观看 | www夜夜操com| 波多野结衣精品 | 国产在线色 | 国产精国产精品 | 免费在线观看a v | 国产麻豆剧传媒免费观看 | 一级黄色片在线播放 | 国产在线国偷精品产拍免费yy | 国产精品电影一区二区 | 精油按摩av | 欧美在线视频免费 | 国产区在线看 | 在线国产中文字幕 | 天堂黄色片| 91最新视频 | 亚洲国产精品久久久 | 黄色亚洲精品 | 91丨九色丨国产在线观看 | 草莓视频在线观看免费观看 | 日韩xxx视频 | 成年人黄色在线观看 | 最近久乱中文字幕 | 中文字幕在线播放av | 久久午夜羞羞影院 | 亚洲精品国产片 | 九九九免费视频 | 色夜视频 | 一级黄色片在线 | 日韩精品一区二区在线观看视频 | 国产日韩精品一区二区 | 国产成年免费视频 | 久久精品1区 | 中文字幕第一页在线 | 日日操天天射 | 日韩视频一区二区在线 | 一区二区中文字幕在线 | 丁香 婷婷 激情 | 免费久久久久久久 | 亚洲最大激情中文字幕 | av在线com| 午夜免费福利视频 | 亚洲美女精品 | 97日日碰人人模人人澡分享吧 | 国产玖玖在线 | 最近最新中文字幕视频 | 精品一区二区三区久久久 | 欧美人操人| 91天天视频| 日本在线观看中文字幕无线观看 | 麻豆av电影 | 福利电影一区二区 | 青草视频免费观看 | 91久久精品一区二区二区 | 日韩三区在线观看 | 国产精品区二区三区日本 | 国产欧美精品一区二区三区 | 国产一级在线观看视频 | 四虎亚洲精品 | 亚洲在线网址 | 欧美激情综合色综合啪啪五月 | 国产va饥渴难耐女保洁员在线观看 | 狠狠狠狠狠狠操 | 亚洲视频免费在线 | 亚洲综合一区二区精品导航 | 91九色在线 | 午夜精品久久久久久久99婷婷 | 亚洲日韩精品欧美一区二区 | 黄色软件在线观看免费 | 国产 日韩 中文字幕 | 国产精品永久久久久久久久久 | 亚洲视频在线视频 | 激情婷婷亚洲 | 亚洲精品国精品久久99热一 | 91av电影网 | 91福利小视频 | 日韩精品视频第一页 | 四虎影院在线观看av | 一本一本久久a久久精品牛牛影视 | 免费观看xxxx9999片 | 免费网站v | 在线视频成人 | 在线免费观看视频 | 久久久香蕉视频 | 日批视频在线 | 国产精品久久久久久久久久久免费 | 亚洲伊人色 |