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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

前端参数无法转为后端实体内部类_Spring Boot返回前端Long型丢失精度

發(fā)布時間:2024/10/6 HTML 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前端参数无法转为后端实体内部类_Spring Boot返回前端Long型丢失精度 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近為Prong開發(fā)了一個基于snowflake算法的Java分布式ID組件,將實體主鍵從原來的String類型的UUID修改成了Long型的分布式ID。修改后發(fā)現(xiàn)前端顯示的ID和數(shù)據(jù)庫中的ID不一致。例如數(shù)據(jù)庫中存儲的是:812782555915911412,顯示出來卻成了812782555915911400,后面2位變成了0,精度丟失了:

console.log(812782555915911412);

812782555915911400

這是什么原因呢?

原來,JavaScript中數(shù)字的精度是有限的,Java的Long類型的數(shù)字超出了JavaScript的處理范圍。JavaScript內(nèi)部只有一種數(shù)字類型Number,所有數(shù)字都是采用IEEE 754 標準定義的雙精度64位格式存儲,即使整數(shù)也是如此。這就是說,JavaScript 語言的底層根本沒有整數(shù),所有數(shù)字都是小數(shù)(64位浮點數(shù))。其結(jié)構(gòu)如圖:

image.png

各位的含義如下:

1位(s) 用來表示符號位,0表示正數(shù),1表示負數(shù)

11位(e) 用來表示指數(shù)部分

52位(f) 表示小數(shù)部分(即有效數(shù)字)

雙精度浮點數(shù)(double)并不是能夠精確表示范圍內(nèi)的所有數(shù), 雖然雙精度浮點型的范圍看上去很大:

。 可以表示的最大整數(shù)可以很大,但能夠精確表示、使用算數(shù)運算的并沒有這么大。因為小數(shù)部分最大是 52 位,因此 JavaScript 中能精準表示的最大整數(shù)是

,十進制為 9007199254740991。

console.log(Math.pow(2, 53) - 1);

console.log(1L<<53);

9007199254740991

JavaScript 有所謂的最大和最小安全值:

console.log(Number.MAX_SAFE_INTEGER);

console.log(Number.MIN_SAFE_INTEGER);

9007199254740991

-9007199254740991

安全意思是說能夠one-by-one表示的整數(shù),也就是說在(

,

)范圍內(nèi),雙精度數(shù)表示和整數(shù)是一對一的,在這個范圍以內(nèi),所有的整數(shù)都有唯一的浮點數(shù)表示,這叫做安全整數(shù)。

而超過這個范圍,會有兩個或更多整數(shù)的雙精度表示是相同的;即超過這個范圍,有的整數(shù)是無法精確表示的,只能大約(round)到與它相近的浮點數(shù)(說到底就是科學計數(shù)法)表示,這種情況下叫做不安全整數(shù),例如:

console.log(Number.MAX_SAFE_INTEGER + 1); // 結(jié)果:9007199254740992,精度未丟失

console.log(Number.MAX_SAFE_INTEGER + 2); // 結(jié)果:9007199254740992,精度丟失

console.log(Number.MAX_SAFE_INTEGER + 3); // 結(jié)果:9007199254740994,精度未丟失

console.log(Number.MAX_SAFE_INTEGER + 4); // 結(jié)果:9007199254740996,精度丟失

console.log(Number.MAX_SAFE_INTEGER + 5); // 結(jié)果:9007199254740996,精度未丟失

而Java的Long類型的有效位數(shù)是63位(扣除一位符號位),其最大值為

,十進制為9223372036854775807。

public static void main(String[] args) {

System.out.println(Long.MAX_VALUE);

System.out.println((1L<<63) -1);

}

9223372036854775807

9223372036854775807

所以只要java傳給JavaScript的Long類型的值超過9007199254740991,就有可能產(chǎn)生精度丟失,從而導致數(shù)據(jù)和邏輯出錯。

和其他編程語言(如 C 和 Java)不同,JavaScript 不區(qū)分整數(shù)值和浮點數(shù)值,所有數(shù)字在 JavaScript 中均用浮點數(shù)值表示,所以在進行數(shù)字運算的時候要特別注意精度缺失問題。容易造成混淆的是,某些運算只有整數(shù)才能完成,此時 JavaScript 會自動把64位浮點數(shù),轉(zhuǎn)成32位整數(shù),然后再進行運算,由于浮點數(shù)不是精確的值,所以涉及小數(shù)的比較和運算要特別小心。

那有什么解決方法呢?

解決辦法之一就是讓Javascript把數(shù)字當成字符串進行處理,對Javascript來說如果不進行運算,數(shù)字和字符串處理起來沒有什么區(qū)別。但如果需要進行運算,只能采用其他方法,例如JavaScript的一些開源庫 bignum、bigint等支持長整型的處理。在我們這個場景里不需要進行運算,且Java進行JSON處理的時候是能夠正確處理long型的,所以只需要將數(shù)字轉(zhuǎn)化成字符串就可以了。

大家都知道,用Spring cloud構(gòu)建微服務(wù)架構(gòu)時,API(controller)通常用@RestController進行注解,而 @Restcontroller是@Controller和@ResponseBody的結(jié)合體,而@ResponseBody用于將后臺返回的Java對象轉(zhuǎn)換為Json字符串傳遞給前臺。

@Controller用于注解配合視圖解析器InternalResourceViewResolver來完成頁面跳轉(zhuǎn)。如果要返回JSON數(shù)據(jù)到頁面上,則需要使用@RestController注解。

當數(shù)據(jù)庫字段為date類型時,@ResponseBody注解在轉(zhuǎn)換日期類型時會默認把日期轉(zhuǎn)換為時間戳(例如: date:2017-10-25 轉(zhuǎn)換為 時間戳:15003323990)。

在Spring boot中處理方法基本上有以下幾種:

一、配置參數(shù)

Jackson有個配置參數(shù)WRITE_NUMBERS_AS_STRINGS,可以強制將所有數(shù)字全部轉(zhuǎn)成字符串輸出。其功能介紹為:Feature that forces all Java numbers to be written as JSON strings.。使用方法很簡單,只需要配置參數(shù)即可:

spring:

jackson:

generator:

write_numbers_as_strings: true

這種方式的優(yōu)點是使用方便,不需要調(diào)整代碼;缺點是顆粒度太大,所有的數(shù)字都被轉(zhuǎn)成字符串輸出了,包括按照timestamp格式輸出的時間也是如此。

二、注解

另一個方式是使用注解JsonSerialize。

使用官方提供的Serializer

@JsonSerialize(using=ToStringSerializer.class)

private Long bankcardHash;

指定了ToStringSerializer進行序列化,將數(shù)字編碼成字符串格式。這種方式的優(yōu)點是顆粒度可以很精細;缺點同樣是太精細,如果需要調(diào)整的字段比較多會比較麻煩。

三、自定義ObjectMapper

可以單獨根據(jù)類型進行設(shè)置,只對Long型數(shù)據(jù)進行處理,轉(zhuǎn)換成字符串,而對其他類型的數(shù)字不做處理。Jackson提供了這種支持,即對ObjectMapper進行定制。根據(jù)SpringBoot的官方幫助,找到一種相對簡單的方法,只對ObjectMapper進行定制,而不是完全從頭定制,方法如下:

@Bean("jackson2ObjectMapperBuilderCustomizer")

public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {

Jackson2ObjectMapperBuilderCustomizer customizer = new Jackson2ObjectMapperBuilderCustomizer() {

@Override

public void customize(Jackson2ObjectMapperBuilder jacksonObjectMapperBuilder) {

jacksonObjectMapperBuilder.serializerByType(Long.class, ToStringSerializer.instance)

.serializerByType(Long.TYPE, ToStringSerializer.instance);

}

};

return customizer;

}

通過定義Jackson2ObjectMapperBuilderCustomizer,對Jackson2ObjectMapperBuilder對象進行定制,對Long型數(shù)據(jù)進行了定制,使用ToStringSerializer來進行序列化。問題終于完美解決。

四、使用HttpMessageConverter(建議方案)

關(guān)于HttpMessageConverter

HttpMessageConverter接口提供了 5 個方法:

canRead:判斷該轉(zhuǎn)換器是否能將請求內(nèi)容轉(zhuǎn)換成 Java 對象

canWrite:判斷該轉(zhuǎn)換器是否可以將 Java 對象轉(zhuǎn)換成返回內(nèi)容

getSupportedMediaTypes:獲得該轉(zhuǎn)換器支持的 MediaType 類型

read:讀取請求內(nèi)容并轉(zhuǎn)換成 Java 對象

write:將 Java 對象轉(zhuǎn)換后寫入返回內(nèi)容

其中read和write方法的參數(shù)分別有有HttpInputMessage和HttpOutputMessage對象,這兩個對象分別代表著一次 Http 通訊中的請求和響應部分,可以通過getBody方法獲得對應的輸入流和輸出流。

當前 Spring 中已經(jīng)默認提供了相當多的轉(zhuǎn)換器,分別有:

名稱

作用

讀支持 MediaType

寫支持 MediaType

ByteArrayHttpMessageConverter

數(shù)據(jù)與字節(jié)數(shù)組的相互轉(zhuǎn)換

*/*

application/octet-stream

StringHttpMessageConverter

數(shù)據(jù)與 String 類型的相互轉(zhuǎn)換

text/*

text/plain

FormHttpMessageConverter

表單與 MultiValueMap的相互轉(zhuǎn)換

application/x-www-form-urlencoded

application/x-www-form-urlencoded

SourceHttpMessageConverter

數(shù)據(jù)與 javax.xml.transform.Source 的相互轉(zhuǎn)換

text/xml 和 application/xml

text/xml 和 application/xml

MarshallingHttpMessageConverter

使用 Spring 的 Marshaller/Unmarshaller 轉(zhuǎn)換 XML 數(shù)據(jù)

text/xml 和 application/xml

text/xml 和 application/xml

MappingJackson2HttpMessageConverter

使用 Jackson 的 ObjectMapper 轉(zhuǎn)換 Json 數(shù)據(jù)

application/json

application/json

MappingJackson2XmlHttpMessageConverter

使用 Jackson 的 XmlMapper 轉(zhuǎn)換 XML 數(shù)據(jù)

application/xml

application/xml

BufferedImageHttpMessageConverter

數(shù)據(jù)與 java.awt.image.BufferedImage 的相互轉(zhuǎn)換

Java I/O API 支持的所有類型

Java I/O API 支持的所有類型

image.png

注意到AbstractMessageConverterMethodProcessor類的getProducibleMediaTypes、writeWithMessageConverters等方法在每次消息解析轉(zhuǎn)換都要作GenericHttpMessageConverter分支判斷,為什么呢?

package org.springframework.web.servlet.mvc.method.annotation;

public abstract class AbstractMessageConverterMethodProcessor extends AbstractMessageConverterMethodArgumentResolver

implements HandlerMethodReturnValueHandler {

protected List getProducibleMediaTypes(HttpServletRequest request, Class> valueClass, Type declaredType) {

Set mediaTypes = (Set) request.getAttribute(HandlerMapping.PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE);

if (!CollectionUtils.isEmpty(mediaTypes)) {

return new ArrayList(mediaTypes);

}

else if (!this.allSupportedMediaTypes.isEmpty()) {

List result = new ArrayList();

for (HttpMessageConverter> converter : this.messageConverters) {

// 分支判斷

if (converter instanceof GenericHttpMessageConverter && declaredType != null) {

if (((GenericHttpMessageConverter>) converter).canWrite(declaredType, valueClass, null)) {

result.addAll(converter.getSupportedMediaTypes());

}

}

else if (converter.canWrite(valueClass, null)) {

result.addAll(converter.getSupportedMediaTypes());

}

}

return result;

}

else {

return Collections.singletonList(MediaType.ALL);

}

}

}

GenericHttpMessageConverter接口繼承自HttpMessageConverter接口,用于提供支持泛型信息(java.lang.reflect.Type)參數(shù)的canRead/read/canWrite/write方法。它的實現(xiàn)類為 AbstractGenericHttpMessageConverter。

定制HttpMessageConverter

package io.prong.boot.framework;

import java.math.BigInteger;

import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;

import com.fasterxml.jackson.databind.ObjectMapper;

import com.fasterxml.jackson.databind.module.SimpleModule;

import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

import io.prong.boot.framework.json.CustomMappingJackson2HttpMessageConverter;

/**

* prong boot 自動配置

*

* @author tangyz

*

*/

@Configuration

public class ProngBootAutoConfig {

/**

* 解決前端js處理大數(shù)字丟失精度問題,將Long和BigInteger轉(zhuǎn)換成string

*

* @return

*/

@Bean

@ConditionalOnMissingBean

public MappingJackson2HttpMessageConverter getMappingJackson2HttpMessageConverter() {

CustomMappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new CustomMappingJackson2HttpMessageConverter();

ObjectMapper objectMapper = new ObjectMapper();

SimpleModule simpleModule = new SimpleModule();

// 序列換成json時,將所有的long變成string 因為js中得數(shù)字類型不能包含所有的java long值

simpleModule.addSerializer(BigInteger.class, ToStringSerializer.instance);

simpleModule.addSerializer(Long.class, ToStringSerializer.instance);

simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);

objectMapper.registerModule(simpleModule);

jackson2HttpMessageConverter.setObjectMapper(objectMapper);

return jackson2HttpMessageConverter;

}

}

因為全局地對所有的long轉(zhuǎn)string的粒度太粗了,我們需要對不同的接口進行區(qū)分,比如限定只對web前端的接口需要轉(zhuǎn)換,但對于內(nèi)部微服務(wù)之間的調(diào)用或者第三方接口等則不需要進行轉(zhuǎn)換。CustomMappingJackson2HttpMessageConverter的主要作用就是為了限定long轉(zhuǎn)string的范圍為web接口,即符合/web/xxxxx風格的url(當然這個你需要根據(jù)自己產(chǎn)品的規(guī)范進行自定義)。

package io.prong.boot.framework.json;

import java.lang.reflect.Type;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.http.MediaType;

import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;

import org.springframework.web.context.request.RequestContextHolder;

import org.springframework.web.context.request.ServletRequestAttributes;

/**

* 自定義的json轉(zhuǎn)換器,匹配web api(以/web/開頭的controller)中的接口方法的返回參數(shù)

*

* @author tangyz

*

*/

public class CustomMappingJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter {

private final static Logger logger = LoggerFactory.getLogger(CustomMappingJackson2HttpMessageConverter.class);

/**

* 判斷該轉(zhuǎn)換器是否能將請求內(nèi)容轉(zhuǎn)換成 Java 對象

*/

@Override

public boolean canRead(Class> clazz, MediaType mediaType) {

// 不需要反序列化

return false;

}

/**

* 判斷該轉(zhuǎn)換器是否能將請求內(nèi)容轉(zhuǎn)換成 Java 對象

*/

@Override

public boolean canRead(Type type, Class> contextClass, MediaType mediaType) {

// 不需要反序列化

return false;

}

/**

* 判斷該轉(zhuǎn)換器是否可以將 Java 對象轉(zhuǎn)換成返回內(nèi)容.

* 匹配web api(形如/web/xxxx)中的接口方法的返回參數(shù)

*/

@Override

public boolean canWrite(Class> clazz, MediaType mediaType) {

if (super.canWrite(clazz, mediaType)) {

ServletRequestAttributes ra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

if (ra != null) { // web請求

HttpServletRequest request = ra.getRequest();

String uri = request.getRequestURI(); // 例如: "/web/frontApplicationPage"

logger.debug("Current uri is: {}", uri);

if (uri.startsWith("/web/")) {

return true;

}

}

}

return false;

}

}

我們的疑問來了,spring boot默認到底有多少個轉(zhuǎn)換器?我們自定義的CustomMappingJackson2HttpMessageConverter是覆蓋了默認的MappingJackson2HttpMessageConverter,還是兩者并存?多個轉(zhuǎn)換器之間的順序是如何的?相互之間是否有影響?

下面我們來一一分析并回答。

查看spring的源碼,首先我們找到了DelegatingWebMvcConfiguration類,它的setConfigurers方法將Spring容器中所有的WebMvcConfigurer接口bean注入了方法的參數(shù)configurers中。

package org.springframework.web.servlet.config.annotation;

@Configuration

public class DelegatingWebMvcConfiguration extends WebMvcConfigurationSupport {

private final WebMvcConfigurerComposite configurers = new WebMvcConfigurerComposite();

/**

* 將Spring容器中所有的WebMvcConfigurer接口bean注入了參數(shù)configurers

*/

@Autowired(required = false)

public void setConfigurers(List configurers) {

if (!CollectionUtils.isEmpty(configurers)) {

this.configurers.addWebMvcConfigurers(configurers);

}

}

跟蹤org.springframework.web.servlet.config.annotation.WebMvcConfigurerComposite類的configureMessageConverters方法,有以下WebMvcConfigurer接口的9個代理(this.delegates):

[0]io.prong.cloud.platform.config.SwaggerConfig

[1]org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration

[2]org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration

[3]org.springframework.cloud.netflix.metrics.MetricsInterceptorConfiguration$MetricsWebResourceConfiguration

[4]org.springframework.boot.actuate.endpoint.mvc.HeapdumpMvcEndpoint

[5]org.springframework.boot.actuate.endpoint.mvc.LogFileMvcEndpoint

[6]org.springframework.boot.actuate.endpoint.mvc.AuditEventsMvcEndpoint

[7]org.springframework.data.web.config.SpringDataWebConfiguration

[8]org.springframework.cloud.netflix.rx.RxJavaAutoConfiguration$RxJavaReturnValueHandlerConfig

當然,這個代理的數(shù)量是不確定的,跟你的工程以及所依賴組件里面包含的WebMvcConfigurer接口實現(xiàn)類的數(shù)量有關(guān)系。

目前這里面只有WebMvcAutoConfiguration代理類覆蓋了configureMessageConverters方法并定義了spring boot默認的轉(zhuǎn)換器,所以其他代理類的我們可以無視了。跟蹤代碼可以找到spring boot在WebMvcConfigurationSupport類的addDefaultHttpMessageConverters方法中對默認的轉(zhuǎn)換器進行了定義。

跟蹤org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration的內(nèi)部類WebMvcAutoConfigurationAdapter類的configureMessageConverters(List> converters)方法,發(fā)現(xiàn)最終初始化的轉(zhuǎn)換器順序如下:

[0]org.springframework.http.converter.ByteArrayHttpMessageConverter

[1]org.springframework.http.converter.StringHttpMessageConverter // spring boot自定義的轉(zhuǎn)換器

[2]org.springframework.http.converter.StringHttpMessageConverter

[3]org.springframework.http.converter.ResourceHttpMessageConverter

[4]org.springframework.http.converter.xml.SourceHttpMessageConverter

[5]org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter

[6]io.prong.boot.framework.json.CustomMappingJackson2HttpMessageConverter // prong boot自定義的轉(zhuǎn)換器

[7]org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

[8]org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter

那么我們定義的轉(zhuǎn)換器是怎么加入進來的呢?

HttpMessageConvertersAutoConfiguration類的構(gòu)造函數(shù),掃描spring容器并找到所有通過@bean方式定義的HttpMessageConverter轉(zhuǎn)換器:

package org.springframework.boot.autoconfigure.web;

public class HttpMessageConvertersAutoConfiguration {

static final String PREFERRED_MAPPER_PROPERTY = "spring.http.converters.preferred-json-mapper";

private final List> converters;

public HttpMessageConvertersAutoConfiguration(

ObjectProvider>> convertersProvider) {

// 找到容器里自定義的HttpMessageConverter實例

this.converters = convertersProvider.getIfAvailable();

}

這里面找到了2個:

[0]io.prong.boot.framework.json.CustomMappingJackson2HttpMessageConverter

[1]org.springframework.http.converter.StringHttpMessageConverter

接下來spring boot將自定義的轉(zhuǎn)換器和默認的轉(zhuǎn)換器進行合并:

package org.springframework.boot.autoconfigure.web;

public class HttpMessageConverters implements Iterable> {

public HttpMessageConverters(boolean addDefaultConverters,

Collection> converters) {

// 將自定義的轉(zhuǎn)換器和默認的轉(zhuǎn)換器進行合并

List> combined = getCombinedConverters(converters,

addDefaultConverters ? getDefaultConverters()

: Collections.>emptyList());

combined = postProcessConverters(combined);

this.converters = Collections.unmodifiableList(combined);

}

合并在方法getCombinedConverters中進行,具體的算法大家可以看看源代碼,我總結(jié)算法的主要核心如下:

1、比較自定義轉(zhuǎn)換器類型是否為可以替換默認轉(zhuǎn)換器的類型?

例如 CustomMappingJackson2HttpMessageConverter 是可以替換默認的 MappingJackson2HttpMessageConverter。

2、如果是,將自定義轉(zhuǎn)換器放在默認轉(zhuǎn)換器的前面。

因此,我們可以最終看到如上所述的,CustomMappingJackson2HttpMessageConverter轉(zhuǎn)換器的順序排在了默認轉(zhuǎn)換器MappingJackson2HttpMessageConverter的前面。

注意,轉(zhuǎn)換器是采用read、write分離的2條職責鏈的設(shè)計模式,一旦某個轉(zhuǎn)換器的read/write可以處理請求,則退出職責鏈。

排除例外

定義自己的Serializer

上面的MappingJackson2HttpMessageConverter將所有的long都轉(zhuǎn)成了string,對于有些例外的情況,例如前端antd列表組件的總記錄數(shù)為number,java后端使用了pagehelper分頁組件,pagehelper的Page類返回的記錄總數(shù)total為long型,如果轉(zhuǎn)為string給前端就會有問題,因此,我們通過自定義的Serializer來排除這種例外。

import java.io.IOException;

import com.fasterxml.jackson.core.JsonGenerator;

import com.fasterxml.jackson.databind.JsonSerializer;

import com.fasterxml.jackson.databind.SerializerProvider;

public class LongJsonSerializer extends JsonSerializer {

@Override

public void serialize(Long value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)

throws IOException {

if (value != null) {

jsonGenerator.writeNumber(value);

}

}

}

如何使用?

使用自定義的PageBean類替換官方的PageInfo,并在PageBean類中使用:

@JsonSerialize(using = LongJsonSerializer.class)

private long total; // 總記錄數(shù)

總結(jié)

以上是生活随笔為你收集整理的前端参数无法转为后端实体内部类_Spring Boot返回前端Long型丢失精度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

久久精品牌麻豆国产大山 | 91看片淫黄大片一级在线观看 | 久久蜜臀一区二区三区av | 久久精品一区二区三区国产主播 | 久久久久看片 | 中文字幕视频网站 | 国产精品毛片久久久久久久久久99999999 | 精品国产视频在线观看 | 91精品一| 精品国产一二三四区 | 9797在线看片亚洲精品 | 色婷婷综合视频在线观看 | 91福利在线观看 | 日韩精品一二三 | 日韩大片在线免费观看 | 国产精品久久久久四虎 | 免费能看的av | 伊人狠狠干 | 97超碰香蕉 | 一级a毛片高清视频 | 国产无遮挡猛进猛出免费软件 | 日本在线观看一区 | 日韩高清国产精品 | 国产原创av在线 | 99色精品视频 | 国产精品成人一区二区三区吃奶 | 久久久国产精品视频 | 日韩免费一区二区三区 | 又黄又爽又无遮挡的视频 | 国产91免费在线 | 97成人精品视频在线播放 | 国产小视频你懂的在线 | 激情五月av | 国产福利精品在线观看 | av大全在线免费观看 | 国产精品免费观看网站 | 久久久综合香蕉尹人综合网 | 玖玖综合网 | 欧美二区视频 | 黄色aa久久 | 狠狠ri| 99热精品在线观看 | 一级a性色生活片久久毛片波多野 | 国产99久久九九精品 | 最近中文字幕mv | 色婷婷激情电影 | 欧美a在线看 | 成人黄色小说视频 | 999久久久国产精品 高清av免费观看 | 亚洲成人av片在线观看 | av专区在线 | 久久综合一本 | 五月天婷亚洲天综合网精品偷 | 91精品国产综合久久久久久久 | 黄色的片子 | 免费看一及片 | 五月天堂色| 日韩欧美在线不卡 | 国内精品国产三级国产aⅴ久 | 日韩性片 | 中文字幕精品一区二区三区电影 | 欧美少妇18p| 中文字幕亚洲精品日韩 | 日本中文字幕在线一区 | 中文字幕麻豆 | av不卡在线看 | 在线观看国产福利片 | 成人午夜电影久久影院 | 五月婷婷影视 | 伊人色综合网 | 天天艹天天 | 日韩av高清 | 久草新在线 | 99在线观看免费视频精品观看 | 粉嫩aⅴ一区二区三区 | 久艹视频在线免费观看 | 久久天天操| 日韩videos| 手机在线日韩视频 | 天天摸天天舔天天操 | 国产精品99久久久精品免费观看 | 福利一区二区三区四区 | 国产日韩精品在线观看 | 字幕网av | 91电影福利| 国内久久久 | 欧美精品一区二区在线观看 | 97国产精品| 美女精品 | 国产免费人人看 | 成人影音在线 | 成在人线av | 亚洲电影院 | 久久99精品一区二区三区三区 | 成人免费在线电影 | 精品在线不卡 | 国产高清永久免费 | 亚洲精品18日本一区app | 久久99操 | 亚洲国产天堂av | 韩国av不卡 | 国产高清在线免费视频 | 亚洲精品影视在线观看 | 亚洲天堂va| 亚洲激情视频在线观看 | 久久久午夜电影 | 在线蜜桃视频 | 成片视频在线观看 | 在线成人免费 | 黄色在线观看免费网站 | 国产精品a久久久久 | 狠狠色狠狠色综合系列 | 丝袜少妇在线 | 国产又粗又硬又长又爽的视频 | 国产精品一区二区无线 | 亚洲精品高清视频在线观看 | 国产成人精品av久久 | 99久久精品一区二区成人 | 久久女教师 | 国产成人精品一区二 | 在线观看一区二区视频 | 樱空桃av | 精品在线亚洲视频 | 日韩大片在线观看 | 亚洲欧美精品一区二区 | 欧美日韩国产精品一区 | 久草视频在线免费看 | 成年人免费观看在线视频 | 久久色在线播放 | 九色精品在线 | 亚洲专区中文字幕 | 国产亚洲成人精品 | 2018好看的中文在线观看 | 国产精品成人一区 | 911精品美国片911久久久 | 亚洲精品久久久久久久不卡四虎 | 五月激情视频 | 国产精品毛片一区二区在线 | 黄色一级在线免费观看 | 99热最新网址 | 欧美高清视频不卡网 | 国产精品午夜免费福利视频 | a天堂中文在线 | 片黄色毛片黄色毛片 | 日韩va在线观看 | 91亚洲综合| 欧美a在线免费观看 | 国产玖玖在线 | 91成人精品一区在线播放69 | 国产九九九视频 | 色av色av色av | 亚洲精品在线电影 | 久久免费国产精品1 | 日韩免费不卡av | 狠狠操狠狠操 | 在线观看精品国产 | 日韩av中文字幕在线 | 欧美贵妇性狂欢 | 欧洲色吧| 91亚洲精品在线观看 | 在线视频观看国产 | 一区二区三区免费在线 | 国产成人在线综合 | 亚洲精品中文字幕在线 | 亚洲天堂自拍视频 | 日韩videos| 婷婷精品在线视频 | 中文字幕一区二区三区久久蜜桃 | 毛片久久久 | 永久av免费在线观看 | 亚洲精品在线观看不卡 | 午夜精品久久久久久久久久 | av大片网址 | 91精品入口 | 午夜精品一区二区三区在线视频 | 亚洲成人国产精品 | 黄色毛片视频免费观看中文 | 三级黄色大片在线观看 | 91在线视频 | 开心色插| 91在线国内视频 | 精品国自产在线观看 | 国产一区福利在线 | 色福利网| 午夜久久久久久久 | 久久不卡视频 | 国产精品色视频 | 日韩精品免费一区二区 | 91夫妻视频 | 国产午夜三级一区二区三 | 婷婷综合影院 | 中文理论片 | 久久综合9988久久爱 | 人人看人人 | 永久免费毛片 | 国产三级视频 | 国产精品美女久久久免费 | 成人91免费视频 | 国产91aaa | 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲一区视频在线播放 | 欧美激情视频一二区 | 在线99| 成人av电影在线播放 | av电影免费| 六月丁香综合 | 天天色播 | 亚洲国产婷婷 | 日韩av女优视频 | 免费日韩精品 | 色诱亚洲精品久久久久久 | 91av在线播放视频 | 狠狠色狠狠综合久久 | 久久久久国产精品视频 | 亚洲欧美视频一区二区三区 | 亚洲精品午夜久久久 | 国产在线a | 成人毛片在线观看 | 久久久久久久久久国产精品 | 久久久精品亚洲 | 一区二区三区国产精品 | 国产激情电影综合在线看 | 精品久久久999 | zzijzzij亚洲成熟少妇 | 免费亚洲成人 | 久久综合色一综合色88 | 成年人三级网站 | 亚洲综合射 | 国产v在线| 麻豆国产露脸在线观看 | 久久久久北条麻妃免费看 | 久99久在线视频 | 超碰97在线资源 | 高潮久久久久久久久 | 国产一区二区在线免费播放 | 欧美一二区在线 | 69久久夜色精品国产69 | 欧美激情视频免费看 | 在线观看不卡的av | 久久国产精品成人免费浪潮 | 一级性av| 一区二区三区av在线 | 少妇搡bbb| 久久久久久久久久久免费 | 91成年视频 | 免费观看黄色av | 国产精品久久久久久久久久新婚 | 久久撸在线视频 | 国产精品第一页在线 | av一区二区在线观看中文字幕 | www黄| 精品国产伦一区二区三区观看说明 | 亚洲 欧洲 国产 日本 综合 | 91av免费看 | 超碰在线日本 | 日韩在线第一区 | 99精品视频在线观看 | 国产精品午夜免费福利视频 | 五月天综合色激情 | 免费又黄又爽 | 国产成人精品亚洲精品 | 99久久er热在这里只有精品15 | 午夜精品一区二区三区免费 | 天天干天天射天天插 | 99久久成人| 国产打女人屁股调教97 | 在线观看日韩精品 | 国产一级在线看 | 日本精品一区二区 | 狠狠网 | 91网页版免费观看 | 久草久| 欧洲精品一区二区 | 国产又粗又硬又长又爽的视频 | 久久人人爽av | 欧美色综合天天久久综合精品 | 亚洲丁香久久久 | 99福利影院| 免费高清看电视网站 | 成人在线播放视频 | 99爱在线观看 | 久久精品精品 | 日韩69av | 成人免费xxx在线观看 | 久久官网 | 中文字幕日韩伦理 | 日韩视频在线播放 | 国产伦理久久精品久久久久_ | av色网站| 欧美a√大片 | 久久精品一 | 欧美性色综合 | av观看在线观看 | 欧美日韩在线免费观看视频 | 日韩免费视频一区二区 | 日韩av在线一区二区 | 视频国产在线观看18 | 91丨九色丨国产女 | 久久久亚洲成人 | 精品一区二区免费视频 | 久久精品视频免费观看 | 国产91精品看黄网站在线观看动漫 | 日韩丝袜在线 | 久艹在线播放 | 免费观看的黄色 | 精品国产理论片 | 色综合久久久久综合99 | 久久视频免费 | 亚洲一级电影视频 | 欧美一级视频免费 | 欧美日韩在线观看一区二区 | 91在线日韩 | 黄色av大片 | 人人干人人做 | 日韩专区在线播放 | 天天干人人干 | 国产精品黑丝在线观看 | 欧美久久久一区二区三区 | 色a在线观看 | 成人片在线播放 | 成人av免费电影 | 色爱成人网 | 午夜在线免费观看 | 91日韩在线播放 | 婷婷亚洲五月色综合 | 久久久99国产精品免费 | 亚洲综合色丁香婷婷六月图片 | 日韩精品中文字幕av | 91精彩视频在线观看 | 国产一区福利在线 | 久久一区二区三区国产精品 | 天天干天天操天天入 | 99av国产精品欲麻豆 | 亚洲免费在线播放视频 | 天天色成人 | 国产超碰97| 麻豆视频在线看 | 久久激情视频免费观看 | 少妇bbw揉bbb欧美 | 日韩理论电影网 | 久久精品久久综合 | 成人网在线免费视频 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久久国产精华液 | 99久久精品国产一区二区成人 | 9幺看片| 人人爽人人爽人人爽学生一级 | 亚洲精品综合在线观看 | 亚洲精品合集 | 在线免费观看国产 | 69av视频在线观看 | 国产成人777777 | 久久丁香网 | 丁香激情综合久久伊人久久 | 91精品国产九九九久久久亚洲 | 国产一区在线不卡 | 综合国产在线 | 最新三级在线 | 激情网五月婷婷 | 成人毛片在线观看 | 99久久精品日本一区二区免费 | 亚洲国产97在线精品一区 | 欧美成a人片在线观看久 | 欧美91成人网| 久久伊人精品一区二区三区 | 在线观看一级视频 | 91在线视频播放 | 中文字幕一区二区三区在线播放 | 天天插天天狠天天透 | 精品国产一区二区三区日日嗨 | 夜夜躁日日躁狠狠久久av | 黄色三级在线观看 | 日本久久片 | 成年人黄色在线观看 | 91精品视频播放 | 在线观看av免费观看 | 中文字幕免费 | 午夜电影久久 | 成人9ⅰ免费影视网站 | 欧美久久久久久久久 | 欧美做受69 | 国产精品一区一区三区 | 色就色,综合激情 | 亚洲精品一区二区三区高潮 | 欧美综合在线视频 | 日本免费久久高清视频 | 国产一级二级视频 | 久久a免费视频 | 日韩中文字幕免费在线播放 | 日韩免费三区 | 国产一区二区三精品久久久无广告 | 国产精品一区二区三区免费看 | 国产免费高清视频 | 成人在线一区二区 | 亚洲视频第一页 | 激情综合网五月婷婷 | 视频在线国产 | 国产精品 亚洲精品 | 天堂视频中文在线 | 黄色资源网站 | 天无日天天操天天干 | 最近中文字幕完整高清 | 91精品成人久久 | 中文在线免费观看 | 日韩av不卡在线播放 | 91亚色免费视频 | 亚洲三级黄 | 精品福利片 | 中文字幕2021 | 五月天婷亚洲天综合网鲁鲁鲁 | 国产精品一区在线 | 亚洲欧洲视频 | 在线免费观看欧美日韩 | 久久久国产99久久国产一 | 尤物97国产精品久久精品国产 | 国产日韩精品一区二区 | 特黄色大片| 西西人体www444| 男女激情片在线观看 | 免费视频资源 | 天天综合天天综合 | 在线观看中文av | 国产精品成人自产拍在线观看 | 一区av在线播放 | 黄色亚洲大片免费在线观看 | 色www免费视频 | 国产一区二区三区免费在线 | 2019中文在线观看 | 国产h在线观看 | 免费观看丰满少妇做爰 | 高清一区二区三区 | 视频三区在线 | 欧美a√在线 | 久久久久一区二区三区四区 | 麻豆视频在线观看免费 | 色综合网在线 | 天天干夜夜爽 | 狠狠综合| 一级α片免费看 | 日韩成人免费在线观看 | 色瓜 | 狠狠色丁香婷婷综合欧美 | 九9热这里真品2 | 91丨九色丨蝌蚪丨对白 | 亚洲黄色在线观看 | 日本精品久久久一区二区三区 | 日韩黄色在线电影 | 久草com| 婷婷丁香九月 | 亚洲精品男人的天堂 | 欧美日韩二区三区 | 在线天堂中文www视软件 | 精品一区二区在线观看 | 91原创在线观看 | 天天综合日| 国产精品久久久久久五月尺 | www亚洲一区| 亚洲精品久久久久久久不卡四虎 | 岛国av在线 | 国产一区二区三精品久久久无广告 | 欧美成人精品在线 | 91探花系列在线播放 | 国产手机在线精品 | 最新国产精品视频 | 天天综合精品 | www.午夜色.com | 亚洲有 在线 | 色综合久久综合网 | 国产精品1024 | 久草在线资源观看 | 国产精品自产拍在线观看蜜 | 午夜精品一区二区三区四区 | 久久人操 | 精品91久久久久 | 在线视频区 | 九九三级毛片 | 精品一区二区免费视频 | av中文字幕在线观看网站 | 91亚洲精品久久久中文字幕 | 久久国产精品一区二区 | 五月婷婷天堂 | 天天爱天天操 | 99精品一级欧美片免费播放 | 国产日产高清dvd碟片 | 国产黄色在线看 | 日日操天天操狠狠操 | 亚洲精品视频在线看 | 精品福利网 | 精品亚洲欧美一区 | 在线不卡a | 日韩中文字幕免费电影 | 精品久久久久久国产91 | 国产精品美乳一区二区免费 | 福利一区二区 | 97成人在线 | 911国产 | 中文字幕高清在线 | 国产免费久久 | 欧美精品网站 | 911av视频| 日韩一级黄色大片 | 日韩午夜在线播放 | 国产成人一区二区三区在线观看 | 久久免费成人网 | 欧美黄网站 | 99av在线视频 | av短片在线观看 | 久久国产精彩视频 | 国产一级二级视频 | 日本中文字幕网址 | 国产又粗又猛又黄 | 在线中文字幕播放 | 免费观看mv大片高清 | 亚洲午夜精 | 国产偷在线 | 91亚洲精品久久久蜜桃网站 | 亚洲毛片视频 | 久久综合久久综合久久 | 欧美日韩精品在线观看视频 | 免费人成网 | 一区二区三区高清不卡 | 九九视频在线观看视频6 | 欧美日韩在线观看一区 | 五月婷婷欧美视频 | 六月丁香六月婷婷 | 在线精品视频在线观看高清 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 在线看片一区 | 欧美激情操 | 青青河边草免费视频 | 96超碰在线| av资源在线看 | 成人免费av电影 | 91亚洲国产成人久久精品网站 | 久草视频在线免费看 | 91 中文字幕 | 激情欧美网 | 国产在线永久 | 天天撸夜夜操 | 日韩欧美精选 | 日韩艹 | 日本xxxxav | 精品91 | 91禁看片 | 免费日韩三级 | 日韩一区二区三区高清在线观看 | 国产国语在线 | 最近日本中文字幕a | 超碰国产在线观看 | 日韩免费电影 | 日韩在线观看视频一区二区三区 | 亚洲专区中文字幕 | 911国产精品 | 色综合天天狠天天透天天伊人 | 欧美精品免费一区二区 | 香蕉视频国产在线观看 | 久草电影在线观看 | 99精品免费久久久久久日本 | 在线成人免费 | 成人a级黄色片 | 成人在线视频观看 | 日韩大片在线 | 国产高清不卡 | 日韩在线视频网址 | 色中射 | 伊人色播 | 91在线欧美 | 久草免费在线视频观看 | av官网在线| 欧美最猛性xxxxx免费 | 999久久国精品免费观看网站 | 黄色成人av| 亚洲精品久久久蜜桃直播 | 亚洲精品乱码久久久久久9色 | 一二三区高清 | 午夜男人影院 | 在线播放 日韩专区 | 久草视频资源 | 日韩视频在线观看免费 | 亚洲精品成人 | 国产护士av | 99免费在线观看 | 99精品视频观看 | 夜夜爱av| 亚洲精品美女视频 | 国产成人综合精品 | 手机看片国产 | 夜夜骑天天操 | 四虎影视成人永久免费观看视频 | 久久精品视频免费 | 欧美精品一区二区三区一线天视频 | 亚洲最大av在线播放 | 一区二区三区在线影院 | av高清一区 | 成人国产精品av | 91视频在线播放视频 | 探花视频在线观看 | 成年人电影免费在线观看 | 欧美日视频 | 久久久国产日韩 | 6699私人影院| 日韩在线在线 | 六月婷婷网 | 国产精品k频道 | 人人狠狠综合久久亚洲婷 | 91免费视频网站在线观看 | 中文av在线免费观看 | 91福利视频网站 | 国产成人av一区二区三区在线观看 | 欧美少妇xx | 国产精品国产毛片 | 色午夜影院 | 国产精品免费看久久久8精臀av | 欧美性色xo影院 | 欧美一区二区三区在线看 | 97国产小视频 | 高清不卡毛片 | 亚洲精品小视频在线观看 | 视频在线日韩 | 激情五月在线观看 | 97福利视频 | ww亚洲ww亚在线观看 | 欧美天天综合 | 亚洲综合最新在线 | 中文字幕视频三区 | 91av片| 国产一级在线播放 | 国产福利av | 三上悠亚一区二区在线观看 | 日韩精品电影在线播放 | 欧美日韩午夜 | 蜜臀久久99精品久久久无需会员 | 最新av在线播放 | 亚洲精品视频在线免费 | 亚洲精品久久久久中文字幕二区 | 在线看国产一区 | 亚州精品在线视频 | 欧美日韩中文在线 | 天天亚洲综合 | 91麻豆精品国产91 | 国产精品成人一区 | 久久久久成人精品 | 日日干天天 | 在线观看涩涩 | av电影一区二区三区 | 日韩免费在线 | 久久久久久久精 | 国产1级毛片 | 亚洲午夜激情网 | 黄污视频网站 | 欧美成人理伦片 | 97成人精品区在线播放 | 日韩免费在线 | 最近中文字幕视频完整版 | 国内精品久久久久久久久久 | 日本特黄一级 | 日韩在线观看视频一区二区三区 | 欧美一级性生活视频 | 婷婷av色综合 | 乱子伦av | 日韩一区二区三区高清免费看看 | 伊人网站| 久久一区二区三区四区 | 丁香花中文字幕 | 深夜免费福利在线 | 激情av综合 | 中文字幕在线不卡国产视频 | www免费视频com| 人人射网站 | 国产成人免费观看 | 久久精品一区二 | 五月激情久久久 | 免费高清av在线看 | 在线观看中文字幕av | 在线免费观看麻豆视频 | 亚州中文av | 丁香在线| 婷婷免费在线视频 | 特黄特色特刺激视频免费播放 | 日韩欧美一区二区不卡 | 伊人久久av | 国产精品高清一区二区三区 | 中文字幕之中文字幕 | 91av在线视频播放 | 国产精品白浆 | 人人澡av| 黄色一级网 | 久久精品影片 | 国产精品6 | 狠狠干夜夜操天天爽 | 黄色不卡av | 视频三区在线 | 一区二区av | 国产精品男女视频 | 国产黄色播放 | 亚洲日本欧美在线 | 免费av网站在线看 | 91av蜜桃| 玖玖视频 | 深夜免费网站 | 91精品久久久久久久久久久久久 | 日韩在线视频国产 | www黄| 中文字幕在线观看国产 | 日韩在线高清视频 | 国产精品一级视频 | 欧美激情va永久在线播放 | 97在线免费视频 | 99久久精品日本一区二区免费 | 91中文字幕在线 | 国产大陆亚洲精品国产 | 97av免费视频 | 爱色av.com | 91成人短视频在线观看 | 超碰在线最新地址 | 中文国产字幕 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 色综合国产 | 99在线观看视频 | 午夜精品三区 | 久久国产成人午夜av影院宅 | 国产高h视频 | 欧美性极品xxxx做受 | 国产精品热视频 | 欧美一区二区三区在线视频观看 | 国产精品精品国产婷婷这里av | 日韩在线首页 | 日韩精品一区二区三区丰满 | 欧美在线资源 | 色婷婷狠狠18 | 亚洲 欧美 变态 国产 另类 | 欧美中文字幕第一页 | 久久久久免费精品视频 | 国产成人黄色av | 国产精品福利在线 | 午夜影院一级 | 成年人在线观看视频免费 | 黄色一区三区 | 国内久久视频 | 久久人人爽人人爽人人片 | 夜夜操网 | av在线免费观看黄 | 久久av观看 | 黄网站www| 超碰成人av| 亚洲传媒在线 | 亚洲精选在线观看 | 亚洲精品高清视频在线观看 | 国产主播99 | 人人干人人做 | www.国产在线观看 | 国产精品欧美久久久久三级 | 亚洲无人区小视频 | 欧美不卡视频在线 | 亚洲资源在线观看 | 婷婷在线观看视频 | 久久久久久久久久久久影院 | 在线观看成人国产 | 色狠狠干 | 激情综合亚洲 | 国产色黄网站 | 国产精品99久久99久久久二8 | 欧美色噜噜噜 | 日韩一级成人av | 91最新在线观看 | 丁五月婷婷 | 高清免费av在线 | 91成人在线观看喷潮 | 久久久久人人 | 天天射天天干天天爽 | 五月婷视频| 国产h片在线观看 | 久草在线观看资源 | 久热国产视频 | av在线电影免费观看 | 国产精品国产亚洲精品看不卡 | 久久精品国产精品亚洲精品 | 免费成人在线网站 | 欧美黄色高清 | 天天综合狠狠精品 | 成人一级片免费看 | 久久精品中文视频 | 美女国产精品 | 亚洲精品久久视频 | 久久综合在线 | 六月激情| 国产精品成人av在线 | 五月婷婷在线观看视频 | 久久综合九色综合网站 | 97超在线 | 黄色亚洲片 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 日一日操一操 | 玖草在线观看 | 在线免费观看亚洲视频 | 国产精品久久久久久久久久新婚 | 免费在线一区二区 | 天天综合视频在线观看 | 99国产情侣在线播放 | 黄a网| 国外调教视频网站 | 免费美女av| 91免费试看| 少妇超碰在线 | 成 人 黄 色 片 在线播放 | 久久资源在线 | 亚洲第一香蕉视频 | 一区二区三区精品久久久 | 99视频99 | 国产资源在线播放 | 4438全国亚洲精品在线观看视频 | 国产精品情侣视频 | 天天色.com| 亚洲欧洲中文日韩久久av乱码 | 国产一区在线播放 | 天天色天天干天天色 | 91人人人 | 人人爽人人澡人人添人人人人 | 成人欧美一区二区三区在线观看 | 欧美视频日韩 | 97人人射 | 亚洲一级免费观看 | 亚洲资源视频 | 久久久久免费精品国产 | 91精品播放 | 天天天天天天天操 | 手机在线永久免费观看av片 | 六月色婷婷 | 欧美成人精品欧美一级乱黄 | 亚州黄色一级 | 五月天色综合 | 欧美日韩一区二区视频在线观看 | 2019国产精品| 欧美影片 | 91精品国产91久久久久福利 | 在线免费黄| 成人九九视频 | 亚洲丁香久久久 | 99综合视频 | 亚洲情影院 | 亚洲黄色一级电影 | 97人人艹 | 99视频久久| 国产美女主播精品一区二区三区 | 激情综合亚洲精品 | 成人在线观看免费视频 | 精品产品国产在线不卡 | 区一区二在线 | 国产精品久久嫩一区二区免费 | 免费看的黄色小视频 | 久久伊人精品一区二区三区 | 亚洲精品在线一区二区三区 | 91视频91自拍 | 天天操天天摸天天射 | 一区二区三区四区在线免费观看 | 狠狠地日| 精品国产一区二区三区四 | 国产一区二区在线影院 | 2021国产精品 | 一级特黄aaa大片在线观看 | 欧美日产一区 | 婷婷色网站 | 精品国产免费一区二区三区五区 | 国产一区二区三区视频在线 | 在线观看91视频 | av在线h| 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 欧美一级片在线 | 江苏妇搡bbbb搡bbbb | av五月婷婷 | 国产亚洲激情视频在线 | 日韩欧美在线高清 | 日韩免费福利 | 国产精品一区二区三区在线免费观看 | 免费不卡中文字幕视频 | 国产999久久久 | 最近免费观看的电影完整版 | 亚洲理论在线观看 | 日韩专区一区二区 | 久久久精品视频网站 | 精品国偷自产国产一区 | www天天操 | 天天操天天射天天插 | 99视频这里只有 | 在线观看免费版高清版 | 亚洲涩涩一区 | 天天干天天做天天操 | 极品国产91在线网站 | 亚洲国产精品一区二区久久,亚洲午夜 | 91av小视频 | 六月丁香激情网 | 午夜性盈盈 | 亚洲91精品在线观看 | 欧美做受高潮 | 伊人久久在线观看 | 久久国产精品一区二区三区 | 欧洲精品码一区二区三区免费看 | 91tv国产成人福利 | 91大神电影 | 日韩动漫免费观看高清完整版在线观看 | 精品少妇一区二区三区在线 | 天天干天天干天天干天天干天天干天天干 | 国产亚洲精品久久19p | 国产精品国产三级国产aⅴ无密码 | 人人cao| 欧美精品一区二区三区一线天视频 | 在线精品播放 | 日本精品在线视频 | 国产视频 亚洲精品 | 在线观看aa | 国产精品99久久久精品免费观看 | 日韩视频一区二区在线观看 | 黄色成品视频 | 国产白浆在线观看 | 91桃色国产在线播放 | 99久久精品无码一区二区毛片 | 夜色资源站国产www在线视频 | 亚洲午夜精品久久久久久久久久久久 | 激情视频二区 | 欧美一二三视频 | 网址你懂的在线观看 | 97精品电影院 | 成人av一区二区三区 | 四虎永久视频 | 中文字幕成人av | 日韩精品一区二区三区在线视频 | 青青河边草观看完整版高清 | 亚洲涩涩网 | 国产精品久久久久久久久搜平片 | 黄色av成人在线 | 天天精品视频 | av观看网站 | 成人午夜电影在线播放 | 青草视频在线 | 久久免费视频在线观看 | 六月婷婷网 | www.干| 一区二区三区不卡在线 | 在线视频观看亚洲 | 久久久久综合 | 超碰97免费 | 在线观看免费成人av | 免费aa大片 | 午夜在线免费观看 | 亚洲精品久久久蜜桃直播 | 久久优 | 日韩专区视频 | 91亚洲精品久久久中文字幕 | 亚洲精品久久在线 | 国产九九九九九 | 色久综合 | 97视频免费观看2区 亚洲视屏 | 久色小说| 久久综合给合久久狠狠色 | 日韩在线观看的 | 久久99国产精品二区护士 | av综合网址| 久久久免费网站 | 午夜精品一区二区三区四区 | 中文字幕一区二区三区在线观看 | 色橹橹欧美在线观看视频高清 | 久久久久久久精 | 精品在线二区 | av在线电影免费观看 | 不卡的av在线播放 | 中文字幕免费不卡视频 | 欧美一二区在线 | 91在线免费观看国产 | 九色视频网 | 国产91全国探花系列在线播放 | 天天色天天骑天天射 | 久久综合射 | 久久久久麻豆v国产 | 国产高清免费在线观看 | www看片网站 | 在线va视频 | 中文字幕你懂的 | 婷婷视频在线观看 | 欧美二区三区91 | 97香蕉超级碰碰久久免费软件 | 精品国产一区二区三区免费 | 精品一区二区三区香蕉蜜桃 | 久久精品欧美视频 | 毛片一区二区 | 天天爽夜夜爽人人爽曰av | 免费看片网站91 | 日批视频在线观看免费 | 在线看片日韩 | 亚洲天堂va | 热久在线 | 日韩精品大片 | 国产精品正在播放 | 亚洲美女精品视频 | 一区二区三区动漫 | 欧美成人黄色片 | 91尤物在线播放 | 欧美在线aa | 日韩精品中文字幕一区二区 |