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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

golang常用库:字段参数验证库-validator使用

發布時間:2024/1/23 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 golang常用库:字段参数验证库-validator使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、背景#

在平常開發中,特別是在web應用開發中,為了驗證輸入字段的合法性,都會做一些驗證操作。比如對用戶提交的表單字段進行驗證,或者對請求的API接口字段進行驗證,驗證字段的合法性,保證輸入字段值的安全,防止用戶的惡意請求。

一般的做法是用正則表達式,一個字段一個字段的進行驗證。一個一個字段驗證的話,寫起來比較繁瑣。那有沒更好的方法,進行字段的合法性驗證?有, 這就是下面要介紹的?validator?這個驗證組件。

代碼地址:
https://github.com/go-playground/validator

文檔地址:
validator/README.md at master · go-playground/validator · GitHub

二、功能介紹#

這個驗證包?github.com/go-playground/validator?驗證功能非常多。

標記之間特殊符號說明#

  • 逗號(?,):把多個驗證標記隔開。注意:隔開逗號之間不能有空格,?validate:"lt=0,gt=100",逗號那里不能有空格,否則panic
  • 橫線(?-?):跳過該字段不驗證
  • 豎線(?|?):使用多個驗證標記,但是只需滿足其中一個即可
  • required:表示該字段值必輸設置,且不能為默認值
  • omitempty:如果字段未設置,則忽略它

范圍比較驗證#

doc:?https://github.com/go-playground/validator/blob/master/README.md#comparisons

范圍驗證: 切片、數組和map、字符串,驗證其長度;數值,驗證大小范圍

  • lte:小于等于參數值,validate:"lte=3"?(小于等于3)
  • gte:大于等于參數值,validate:"lte=120,gte=0"?(大于等于0小于等于120)
  • lt:小于參數值,validate:"lt=3"?(小于3)
  • gt:大于參數值,validate:"lt=120,gt=0"?(大于0小于120)
  • len:等于參數值,validate:"len=2"
  • max:最大值,小于等于參數值,validate:"max=20"?(小于等于20)
  • min:最小值,大于等于參數值,validate:"min=2,max=20"?(大于等于2小于等于20)
  • ne:不等于,validate:"ne=2"?(不等于2)
  • oneof:只能是列舉出的值其中一個,這些值必須是數值或字符串,以空格分隔,如果字符串中有空格,將字符串用單引號包圍,validate:"oneof=red green"

例子:

Copy

type User struct { Name string `json:"name" validate:"min=0,max=35"` Age unit8 `json:"age" validate:"lte=90,gte=0"` }

更多功能請參看文檔?validator comparisons doc

字符串驗證#

doc:?https://github.com/go-playground/validator/blob/master/README.md#strings

  • contains:包含參數子串,validate:"contains=tom"?(字段的字符串值包含tom)
  • excludes:包含參數子串,validate:"excludes=tom"?(字段的字符串值不包含tom)
  • startswith:以參數子串為前綴,validate:"startswith=golang"
  • endswith:以參數子串為后綴,validate:"startswith=world"

例子:

Copy

type User struct { Name string `validate:"contains=tom"` Age int `validate:"min=1"` }

更多功能請參看文檔?validator strings doc

字段驗證#

doc:?https://github.com/go-playground/validator/blob/master/README.md#fields

  • eqcsfield:跨不同結構體字段驗證,比如說 Struct1 Filed1,與結構體Struct2 Field2相等,

Copy

type Struct1 struct { Field1 string `validate:eqcsfield=Struct2.Field2` Struct2 struct { Field2 string } }

  • necsfield:跨不同結構體字段不相等

  • eqfield:同一結構體字段驗證相等,最常見的就是輸入2次密碼驗證

Copy

type User struct { Name string `validate:"lte=4"` Age int `validate:"min=20"` Password string `validate:"min=10"` Password2 string `validate:"eqfield=Password"` }

  • nefield:同一結構體字段驗證不相等

Copy

type User struct { Name string `validate:"lte=4"` Age int `validate:"min=20"` Password string `validate:"min=10,nefield=Name"` }

  • gtefield:大于等于同一結構體字段,validate:"gtefiled=Field2"
  • ltefield:小于等于同一結構體字段

更多功能請參看文檔:validator Fields DOC

網絡驗證#

doc:?https://github.com/go-playground/validator/blob/master/README.md#network

  • ip:字段值是否包含有效的IP地址,validate:"ip"
  • ipv4:字段值是否包含有效的ipv4地址,validate:"ipv4"
  • ipv6:字段值是否包含有效的ipv6地址,validate:"ipv6"
  • uri:字段值是否包含有效的uri,validate:"uri"
  • url:字段值是否包含有效的uri,validate:"url"

更多功能請參看文檔:validator network DOC

Format#

doc:?https://github.com/go-playground/validator/blob/master/README.md#format

  • base64:字段值是否包含有效的base64值

更多功能請參看文檔?validator strings doc

其他#

請參看文檔:?https://github.com/go-playground/validator/blob/master/README.md#other

三、安裝#

go get:

go get github.com/go-playground/validator/v10

在文件中引用validator包:

import "github.com/go-playground/validator/v10"

四、validator使用#

文檔:https://github.com/go-playground/validator/blob/master/README.md#examples

例子1:驗證單個字段變量值#

validation1.go

Copy

package main import ( "fmt" "github.com/go-playground/validator/v10" ) func main() { validate := validator.New() var boolTest bool err := validate.Var(boolTest, "required") if err != nil { fmt.Println(err) } var stringTest string = "" err = validate.Var(stringTest, "required") if err != nil { fmt.Println(err) } var emailTest string = "test@126.com" err = validate.Var(emailTest, "email") if err != nil { fmt.Println(err) } else { fmt.Println("success") // 輸出: success。 說明驗證成功 } emailTest2 := "test.126.com" errs := validate.Var(emailTest2, "required,email") if errs != nil { fmt.Println(errs) // 輸出: Key: "" Error:Field validation for "" failed on the "email" tag。驗證失敗 } fmt.Println("\r\nEnd!!") }

運行輸出:

go run simple1.go
Key: '' Error:Field validation for '' failed on the 'required' tag
Key: '' Error:Field validation for '' failed on the 'required' tag
success
Key: '' Error:Field validation for '' failed on the 'email' tag

End!!

例子2:驗證結構體struct#

from:struct validate

validation_struct.go,這個程序還列出了效驗出錯字段的一些信息,

Copy

package main import ( "fmt" "github.com/go-playground/validator/v10" ) type User struct { FirstName string `validate:"required"` LastName string `validate:"required"` Age uint8 `validate:"gte=0,lte=130"` Email string `validate:"required,email"` Addresses []*Address `validate:"required,dive,required"` } type Address struct { Street string `validate:"required"` City string `validate:"required"` Planet string `validate:"required"` Phone string `validate:"required"` } func main() { address := &Address{ Street: "Eavesdown Docks", Planet: "Persphone", Phone: "none", } user := &User{ FirstName: "Badger", LastName: "Smith", Age: 135, Email: "Badger.Smith@gmail.com", Addresses: []*Address{address}, } validate := validator.New() err := validate.Struct(user) if err != nil { fmt.Println("=== error msg ====") fmt.Println(err) if _, ok := err.(*validator.InvalidValidationError); ok { fmt.Println(err) return } fmt.Println("\r\n=========== error field info ====================") for _, err := range err.(validator.ValidationErrors) { // 列出效驗出錯字段的信息 fmt.Println("Namespace: ", err.Namespace()) fmt.Println("Fild: ", err.Field()) fmt.Println("StructNamespace: ", err.StructNamespace()) fmt.Println("StructField: ", err.StructField()) fmt.Println("Tag: ", err.Tag()) fmt.Println("ActualTag: ", err.ActualTag()) fmt.Println("Kind: ", err.Kind()) fmt.Println("Type: ", err.Type()) fmt.Println("Value: ", err.Value()) fmt.Println("Param: ", err.Param()) fmt.Println() } // from here you can create your own error messages in whatever language you wish return } }

運行 輸出:

$ go run validation_struct.go
=== error msg ====
Key: 'User.Age' Error:Field validation for 'Age' failed on the 'lte' tag
Key: 'User.Addresses[0].City' Error:Field validation for 'City' failed on the 'required' tag

=========== error field info ====================
Namespace: User.Age
Fild: Age
StructNamespace: User.Age
StructField: Age
Tag: lte
ActualTag: lte
Kind: uint8
Type: uint8
Value: 135
Param: 130

Namespace: User.Addresses[0].City
Fild: City
StructNamespace: User.Addresses[0].City
StructField: City
Tag: required
ActualTag: required
Kind: string
Type: string
Value:
Param:

還可以給字段加一些其他tag信息,方面form,json的解析,如下:

Copy

type User struct { FirstName string `form:"firstname" json:"firstname" validate:"required"` LastName string `form:"lastname" json:"lastname" validate:"required"` Age uint8 ` form:"age" json:"age"validate:"gte=0,lte=130"` Email string ` form:"email" json:"email" validate:"required,email"` }

例子2.2:驗證slice map#

slice#

slice驗證中用到一個tag關鍵字?dive?, 意思深入一層驗證。

validate_slice.go

Copy

package main import ( "fmt" "github.com/go-playground/validator/v10" ) func main() { sliceone := []string{"123", "onetwothree", "myslicetest", "four", "five"} validate := validator.New() err := validate.Var(sliceone, "max=15,dive,min=4") if err != nil { fmt.Println(err) } slicetwo := []string{} err = validate.Var(slicetwo, "min=4,dive,required") if err != nil { fmt.Println(err) } }

運行輸出:

$ go run validate_slice.go
Key: '[0]' Error:Field validation for '[0]' failed on the 'min' tag
Key: '' Error:Field validation for '' failed on the 'min' tag

說明:

Copy

sliceone := []string{"123", "onetwothree", "myslicetest", "four", "five"} validate.Var(sliceone, "max=15,dive,min=4")

第二個參數中tag關鍵字?dive?前面的 max=15,驗證 [] , 也就是驗證slice的長度,dive?后面的 min=4,驗證slice里的值長度,也就是說 dive 后面的 tag 驗證 slice 的值

那如果是二維slice驗證呢?如:

Copy

slicethree := [][]string{} validate.Var(slicethree, "min=2,dive,len=2,dive,required") validate.Var(slicethree, "min=2,dive,dive,required")

說明:

這里有2個 dive,剛好深入到二維slice,但他們也有不同之處,第二個表達式的第一個dive后沒有設置tag。
第一個驗證表達式:
min=2:驗證第一個 [] 方括號的值長度 ;
len=2:驗證第二個 []string 長度;
required:驗證slice里的值

第二個驗證表達式:
min=2:驗證第一個 [] 方括號的值長度 ;
dive: 后沒有設置tag值,不驗證第二個 []string?;
required: 驗證slice里的值

map#

map的驗證中也需要tag關鍵字?dive, 另外,它還有?keys?和?endkeys?兩tag,驗證這2個tag之間map的 key,而不是value值。

validate_map.go

Copy

package main import ( "fmt" "github.com/go-playground/validator/v10" ) func main() { var mapone map[string]string mapone = map[string]string{"one": "jimmmy", "two": "tom", "three": ""} validate := validator.New() err := validate.Var(mapone, "gte=3,dive,keys,eq=1|eq=2,endkeys,required") if err != nil { fmt.Println(err) } }

運行輸出:

$ go run validate_map.go
Key: '[three]' Error:Field validation for '[three]' failed on the 'eq=1|eq=3' tag
Key: '[three]' Error:Field validation for '[three]' failed on the 'required' tag
Key: '[one]' Error:Field validation for '[one]' failed on the 'eq=1|eq=3' tag
Key: '[two]' Error:Field validation for '[two]' failed on the 'eq=1|eq=3' tag

說明:

gte=3:驗證map自己的長度;
dive后的 keys,eq=1|eq=2,endkeys:驗證map的keys個數,也就是驗證 [] 里值。上例中定義了一個string,所以明顯報了3個錯誤。
required:驗證 map的值value

那嵌套map怎么驗證
如:map[[3]string]string,和上面slice差不多,使用多個?dive

Copy

var maptwo map[[3]string]string{} validate.Var(maptwo, "gte=3,dive,keys,dive,eq=1|eq=3,endkeys,required")

說明:

gte=3: 驗證map的長度;
keys,dive,eq=1|eq=3,endkeys:keys和endkeys中有一個dive(深入一級),驗證map中key的數組每一個值
required: 驗證map的值

用戶自定義函數驗證#

用戶自定義函數驗證字段是否合法,效驗是否正確。

例子3: 通過字段tag自定義函數#

validate.RegisterValidation

customer_tag.go:

Copy

package main import ( "fmt" "github.com/go-playground/validator/v10" ) type User struct { Name string `form:"name" json:"name" validate:"required,CustomerValidation"` //注意:required和CustomerValidation之間不能有空格,否則panic。CustomerValidation:自定義tag-函數標簽 Age uint8 ` form:"age" json:"age" validate:"gte=0,lte=80"` //注意:gte=0和lte=80之間不能有空格,否則panic } var validate *validator.Validate func main() { validate = validator.New() validate.RegisterValidation("CustomerValidation", CustomerValidationFunc) //注冊自定義函數,前一個參數是struct里tag自定義,后一個參數是自定義的函數 user := &User{ Name: "jimmy", Age: 86, } fmt.Println("first value: ", user) err := validate.Struct(user) if err != nil { fmt.Printf("Err(s):\n%+v\n", err) } user.Name = "tom" user.Age = 29 fmt.Println("second value: ", user) err = validate.Struct(user) if err != nil { fmt.Printf("Err(s):\n%+v\n", err) } } // 自定義函數 func CustomerValidationFunc(f1 validator.FieldLevel) bool { // f1 包含了字段相關信息 // f1.Field() 獲取當前字段信息 // f1.Param() 獲取tag對應的參數 // f1.FieldName() 獲取字段名稱 return f1.Field().String() == "jimmy" }

運行輸出:

$ go run customer.go
first value: &{jimmy 86}
Err(s):
Key: 'User.Age' Error:Field validation for 'Age' failed on the 'lte' tag
second value: &{tom 29}
Err(s):
Key: 'User.Name' Error:Field validation for 'Name' failed on the 'CustomerValidation' tag

**注意:

上面代碼user struct定義中 ,validate里的required和CustomerValidation之間不能有空格,否則運行時報panic錯誤:panic: Undefined validation function ' CustomerValidation' on field 'Name'

例子4:自定義函數-直接注冊函數1#

不通過字段tag自定義函數,直接注冊函數。

RegisterStructValidation

https://github.com/go-playground/validator/blob/master/_examples/struct-level/main.go

customer1.go

Copy

package main import ( "fmt" "github.com/go-playground/validator/v10" ) type User struct { FirstName string `json:firstname` LastName string `json:lastname` Age uint8 `validate:"gte=0,lte=130"` Email string `validate:"required,email"` FavouriteColor string `validate:"hexcolor|rgb|rgba"` } var validate *validator.Validate func main() { validate = validator.New() validate.RegisterStructValidation(UserStructLevelValidation, User{}) user := &User{ FirstName: "", LastName: "", Age: 30, Email: "TestFunc@126.com", FavouriteColor: "#000", } err := validate.Struct(user) if err != nil { fmt.Println(err) } } func UserStructLevelValidation(sl validator.StructLevel) { user := sl.Current().Interface().(User) if len(user.FirstName) == 0 && len(user.LastName) == 0 { sl.ReportError(user.FirstName, "FirstName", "firstname", "firstname", "") sl.ReportError(user.LastName, "LastName", "lastname", "lastname", "") } }

運行輸出:

$ go run customer1.go
Key: 'User.FirstName' Error:Field validation for 'FirstName' failed on the 'firstname' tag
Key: 'User.LastName' Error:Field validation for 'LastName' failed on the 'lastname' tag

例子5:自定義函數-直接注冊函數2#

RegisterCustomTypeFunc

https://github.com/go-playground/validator/blob/master/_examples/custom/main.go

validate.RegisterCustomTypeFunc:驗證類型的自定義函數

customer2.go:

Copy

package main import ( "database/sql" "database/sql/driver" "fmt" "reflect" "github.com/go-playground/validator/v10" ) type DbBackedUser struct { Name sql.NullString `validate:"required"` Age sql.NullInt64 `validate:"required"` } var validate *validator.Validate func main() { validate = validator.New() validate.RegisterCustomTypeFunc(ValidateValuer, sql.NullString{}, sql.NullInt64{}, sql.NullBool{}, sql.NullFloat64{}) // build object for validation x := DbBackedUser{Name: sql.NullString{String: "", Valid: true}, Age: sql.NullInt64{Int64: 0, Valid: false}} err := validate.Struct(x) if err != nil { fmt.Printf("Err(s):\n%+v\n", err) } } func ValidateValuer(field reflect.Value) interface{} { if valuer, ok := field.Interface().(driver.Valuer); ok { val, err := valuer.Value() if err == nil { return val } // handle the error how you want } return nil }

運行輸出:

$ go run customer.go
Err(s):
Key: 'DbBackedUser.Name' Error:Field validation for 'Name' failed on the 'required' tag
Key: 'DbBackedUser.Age' Error:Field validation for 'Age' failed on the 'required' tag

注意,這個函數
RegisterCustomTypeFunc,它上面有2行注釋:

// RegisterCustomTypeFunc registers a CustomTypeFunc against a number of types
//
// NOTE: this method is not thread-safe it is intended that these all be registered prior to any validation

它是一個驗證數據類型自定義函數,NOTE:這個方法不是線程安全的

例子6:兩字段比較#

兩個字段比較,有一種是密碼比較驗證,用戶注冊時候驗證2次密碼輸入是否相同。用tag?eqfield?比較兩字段。。

verify_pwd.go:

Copy

package main import ( "fmt" "github.com/go-playground/validator/v10" ) // 注冊用戶 user struct type User struct { UserName string `json:"username" validate:"lte=14,gte=4"` Password string `json:"password" validate:"max=20,min=6"` Password2 string `json:"password2" validate:"eqfield=Password"` } func main() { validate := validator.New() user1 := User{ UserName: "jim", Password: "123456", Password2: "12345", } fmt.Println("validate user1 value: ", user1) err := validate.Struct(user1) if err != nil { fmt.Println(err) } fmt.Println("====================") user2 := User{ UserName: "jimy", Password: "123456", Password2: "123456", } fmt.Println("validate user2 value: ", user2) err = validate.Struct(user2) if err != nil { fmt.Println(err) } }

運行輸出:

$ go run verify_pwd.go
validate user1 value: {jim 123456 12345}
Key: 'User.UserName' Error:Field validation for 'UserName' failed on the 'gte' tag
Key: 'User.Password2' Error:Field validation for 'Password2' failed on the 'eqfield' tag
====================
validate user2 value: {jimy 123456 123456}

還有一種是2變量字段比較,見下面例子 eq_field.go:

Copy

package main import ( "fmt" "github.com/go-playground/validator/v10" ) func main() { field1 := "tom" field2 := "jimmy" validate := validator.New() fmt.Println("tag nefield: ") err := validate.VarWithValue(field1, field2, "nefield") if err != nil { fmt.Println(err) } else { fmt.Println("correct") } fmt.Println("===========================") fmt.Println("tag eqfield: ") err = validate.VarWithValue(field1, field2, "eqfield") if err != nil { fmt.Println(err) } }

運行輸出:

$ go run eq_field.go
tag nefield:
correct
===========================
tag eqfield:
Key: '' Error:Field validation for '' failed on the 'eqfield' tag

例子7:翻譯/自定義字段錯誤#

  • universal-translator
  • i10n

Copy

package main import ( "fmt" "strings" "github.com/go-playground/locales/en" "github.com/go-playground/locales/zh" ut "github.com/go-playground/universal-translator" "github.com/go-playground/validator/v10" zhtrans "github.com/go-playground/validator/v10/translations/zh" // entrans "github.com/go-playground/validator/v10/translations/en" ) type Student struct { Name string `validate:required` Email string `validate:"email"` Age int `validate:"max=30,min=12"` } func main() { en := en.New() //英文翻譯器 zh := zh.New() //中文翻譯器 // 第一個參數是必填,如果沒有其他的語言設置,就用這第一個 // 后面的參數是支持多語言環境( // uni := ut.New(en, en) 也是可以的 // uni := ut.New(en, zh, tw) uni := ut.New(en, zh) trans, _ := uni.GetTranslator("zh") //獲取需要的語言 student := Student{ Name: "tom", Email: "testemal", Age: 40, } validate := validator.New() zhtrans.RegisterDefaultTranslations(validate, trans) err := validate.Struct(student) if err != nil { // fmt.Println(err) errs := err.(validator.ValidationErrors) fmt.Println(removeStructName(errs.Translate(trans))) } } func removeStructName(fields map[string]string) map[string]string { result := map[string]string{} for field, err := range fields { result[field[strings.Index(field, ".")+1:]] = err } return result }

運行輸出:

$ go run customer_err_info3.go
map[Age:Age必須小于或等于30 Email:Email必須是一個有效的郵箱]

五、參考#

  • https://github.com/go-playground/validator/blob/master/README.md
  • https://github.com/go-playground/validator/tree/master/_examples
  • https://github.com/go-playground/universal-translator/tree/master/_examples
  • https://github.com/go-playground/validator/issues/633
  • validator translator

出處:golang常用庫:字段參數驗證庫-validator使用 - 九卷 - 博客園

總結

以上是生活随笔為你收集整理的golang常用库:字段参数验证库-validator使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

av综合站 | 黄色免费视频在线观看 | 国内视频在线观看 | 免费久久99精品国产婷婷六月 | 欧美一区二区三区四区夜夜大片 | 91香蕉视频色版 | 99热免费在线 | 精品国产伦一区二区三区免费 | 免费一级片观看 | 婷婷深爱五月 | 精品一区精品二区高清 | 亚洲激情 在线 | 亚洲欧美经典 | 亚洲日本中文字幕在线观看 | 高清久久久久久 | 国产福利午夜 | 国产在线一线 | 99热亚洲精品 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 一区二区三区国产精品 | 人人插人人草 | 一区二区三区视频 | 日韩av中文 | 色小说av | 婷婷.com| 99久久久国产精品免费观看 | 国产一区私人高清影院 | 国产91在线免费视频 | 国产精品中文字幕在线播放 | 久久久久久久国产精品 | 亚洲国产成人在线 | 成人网大片 | 亚洲精品免费在线观看 | www久久精品 | 日日夜夜草 | 精品美女久久久久久免费 | www免费| 欧美性黑人 | 亚洲精品婷婷 | 国产专区在线 | 狠狠久久 | 免费看一级特黄a大片 | 国产玖玖视频 | 最新超碰| 五月丁色 | 日夜夜精品视频 | 中文在线免费看视频 | 久久久久精 | 丁香资源影视免费观看 | 懂色av一区二区三区蜜臀 | 色99之美女主播在线视频 | 亚洲在线网址 | 成人午夜精品久久久久久久3d | 国产在线精品一区 | 亚洲精品www| 香蕉影视在线观看 | 成人一级电影在线观看 | 久久99精品国产麻豆宅宅 | 青青河边草免费观看完整版高清 | 碰碰影院| 爱爱av网| 精品久久久久_ | 久久免费视频在线观看6 | 国产亚洲一区二区在线观看 | 在线观看免费日韩 | 在线亚洲人成电影网站色www | 国产91精品高清一区二区三区 | 91视频国产免费 | 免费在线观看不卡av | 在线看欧美| 五月天电影免费在线观看一区 | 欧美性黄网官网 | 国产字幕在线看 | 国产在线成人 | 国产91在线免费视频 | 五月婷婷综合在线视频 | 精品日本视频 | 亚洲天堂毛片 | 天天操天天透 | 干狠狠| 免费av 在线| 国产精品成 | 久久www免费人成看片高清 | 国产成a人亚洲精v品在线观看 | 99久久精品无免国产免费 | 天堂网av在线 | 伊人久久国产 | 人人干人人模 | 国产91综合一区在线观看 | 久久免费视频1 | 久久tv| 免费视频黄 | 日韩欧美一区二区三区免费观看 | 日日夜操| 日韩在线观 | 中文字幕丝袜一区二区 | 九九九九免费视频 | 国产成人久久精品77777综合 | 国产馆在线播放 | 最新中文字幕 | 免费视频91 | 国产黄a三级三级 | 丁香六月激情婷婷 | 欧洲高潮三级做爰 | 午夜三级在线 | 日韩精品久久久免费观看夜色 | 免费看的黄色 | 91九色视频导航 | av看片在线 | 成人在线观看av | av一级片 | 丁香六月在线观看 | 国产中文字幕久久 | 色综合久久中文字幕综合网 | 国产精品1区2区在线观看 | 99日精品 | 日韩免费观看一区二区 | 国产麻豆剧果冻传媒视频播放量 | 亚洲精品66 | 国产二区精品 | 亚洲三级在线免费观看 | 狠狠色丁香婷婷综合久久片 | 黄色成人91 | 亚州天堂 | 久久精品网址 | 中文字幕超清在线免费 | 麻豆小视频在线观看 | 欧美日韩高清一区 | www.黄色小说.com| 日本中文字幕在线播放 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产人成一区二区三区影院 | 中文字幕在线日亚洲9 | 在线免费av网站 | 丁香五月亚洲综合在线 | 成人久久电影 | 国产精品美女久久久久久免费 | 九精品| 成人国产精品一区 | 久久美女视频 | 91免费的视频在线播放 | 黄色成品视频 | 精品一区二区三区香蕉蜜桃 | 亚洲欧美怡红院 | 日本中文在线观看 | 国产成人精品一区二区三区免费 | 国产精品2区 | 九九交易行官网 | 99精品视频99 | 成人三级av | a'aaa级片在线观看 | a级国产乱理伦片在线观看 亚洲3级 | 国产美女在线精品免费观看 | 亚洲精品456在线播放乱码 | 午夜精品一区二区三区免费视频 | 成年人在线免费看视频 | 天天躁天天操 | 狠狠干狠狠色 | 波多野结衣网址 | 色综合婷婷久久 | 美女黄视频免费看 | 久久女教师 | 91亚洲精品在线观看 | 97天堂网 | 婷婷色网视频在线播放 | 97日日碰人人模人人澡分享吧 | 在线观看中文字幕av | 最新色站| 国产日韩精品视频 | a午夜在线 | av资源在线观看 | 在线а√天堂中文官网 | 久久免费观看少妇a级毛片 久久久久成人免费 | 99精品黄色片免费大全 | 少妇bbw撒尿 | 国产超碰在线观看 | 亚洲视屏在线播放 | 五月婷婷六月丁香在线观看 | 婷婷在线免费观看 | 国产免费一区二区三区网站免费 | 97综合网 | 国产美女网站视频 | 激情五月婷婷激情 | 91亚洲精品久久久久图片蜜桃 | 精品一区二区三区香蕉蜜桃 | 日韩av一卡二卡三卡 | 国产在线不卡 | 97在线播放 | 久久精品中文字幕免费mv | 九九免费观看视频 | 中文在线字幕观看电影 | 99色99 | 国产久草在线观看 | av天天干 | 免费av在线播放 | 欧美日韩一级久久久久久免费看 | 婷婷丁香综合 | 午夜 在线 | 97超碰人人网 | 精品自拍网 | av日韩不卡 | 91成年人视频 | 国产精品久久久久一区二区三区共 | 久久成人视屏 | 中国美女一级看片 | 狠狠色丁香婷婷 | 福利区在线观看 | 成人一级在线 | 69精品久久 | 中文字幕高清在线播放 | 91自拍91 | 日本三级在线观看中文字 | 69久久久| 国产免费人成xvideos视频 | 日韩一区二区三区观看 | 激情欧美国产 | 亚洲欧洲国产日韩精品 | www.天天干.com | 欧美一级片免费在线观看 | 亚洲激情精品 | 日韩影视在线 | 精品视频9999 | 国产97在线看| 国产人成精品一区二区三 | 国产精品九九久久久久久久 | 亚洲精品综合欧美二区变态 | 天堂在线一区 | 国产亚洲欧洲 | 亚洲精品www久久久久久 | 五月综合色 | 亚洲国产成人精品电影在线观看 | 亚洲精品99久久久久中文字幕 | 97超碰在线视 | av福利在线导航 | 久久er99热精品一区二区三区 | 中文字幕丝袜一区二区 | 99在线热播精品免费 | 成人国产网站 | 国产免费黄视频在线观看 | 91av视频免费在线观看 | 韩国av一区二区 | 欧美日韩国产一区二区在线观看 | 天天弄天天干 | 激情在线免费视频 | 人人爽人人干 | 天天鲁天天干天天射 | 国产高清av | 欧美精品久久久久久久久久久 | 亚洲香蕉视频 | www.婷婷色| 免费观看一区二区三区视频 | 国产精品第54页 | 日韩精品不卡在线观看 | 亚洲涩涩一区 | 精品欧美在线视频 | 在线观看亚洲国产 | 91爱爱视频 | 久草观看视频 | 亚洲亚洲精品在线观看 | 亚洲综合色视频在线观看 | 国产va饥渴难耐女保洁员在线观看 | 亚洲精品h | 综合久久久 | 午夜精品视频福利 | 97视频在线 | 99re中文字幕 | 在线观看91| 中文超碰字幕 | 久久精品国产免费 | 天天草天天插 | 日韩欧美国产精品 | 国产在线日本 | 激情九九 | 欧美成年黄网站色视频 | 人人狠狠综合久久亚洲婷 | 精品久久国产一区 | 亚洲日本va午夜在线影院 | 亚洲天堂网在线视频 | 最新国产在线观看 | 在线免费成人 | 欧美福利精品 | 热久久这里只有精品 | 亚洲片在线 | 欧美极品少妇xxxx | 91最新网址在线观看 | 五月开心网 | 黄色福利网 | 国产亚洲人成网站在线观看 | 免费h精品视频在线播放 | 狠狠操狠狠干天天操 | 99精品视频免费在线观看 | 久久99在线 | 男女全黄一级一级高潮免费看 | 91超在线| 免费久久视频 | 亚洲 综合 激情 | 五月天国产 | 黄色com| 国产精品av免费观看 | 国产精品黄 | 国产伦精品一区二区三区… | 一区二区三区在线免费观看 | 国产污视频在线观看 | 国产精选视频 | 日韩免费一区二区在线观看 | 黄色精品久久久 | 精品视频免费看 | 久久艹国产视频 | 国产喷水在线 | 成人国产精品免费观看 | 亚洲经典视频在线观看 | 中文字幕国产精品一区二区 | 婷婷六月丁香激情 | 韩日电影在线观看 | 久久99最新地址 | 91人人射 | 国产精品久久中文字幕 | 久久久久国产免费免费 | 在线观看免费视频你懂的 | 久久综合九色综合久99 | 人人插人人费 | 在线精品视频免费播放 | 婷婷六月色 | 91视频啪| 久久精品99精品国产香蕉 | 亚洲天堂网站 | 国产精品麻豆果冻传媒在线播放 | 国产精品视频资源 | 久久99亚洲精品 | 久久成人午夜 | 欧美日韩一区三区 | 久久99热国产 | 麻豆果冻剧传媒在线播放 | 日韩免费高清在线观看 | 久久精品国产免费看久久精品 | 天堂v中文 | 91成人在线视频 | 一区二区三区高清在线观看 | 久久 精品一区 | 午夜av一区| 欧美精品v国产精品 | 69精品在线观看 | 四虎国产 | 亚洲精品99久久久久中文字幕 | 国产高清在线观看 | 日韩欧美高清一区二区三区 | 亚洲激情| 亚洲午夜精品福利 | 成人黄色国产 | 亚洲精品视频 | 国产精品久久久久久久电影 | 五月婷网站 | 精品亚洲欧美无人区乱码 | 日韩免费在线视频观看 | 国产一级淫片在线观看 | 成年人在线观看视频免费 | 2022国产精品视频 | 91中文在线 | 天天草天天色 | 亚洲精品国产自产拍在线观看 | 久久综合九色欧美综合狠狠 | 国产黄色片免费看 | 日韩极品视频在线观看 | a√天堂中文在线 | 不卡视频在线看 | 亚洲精品视频中文字幕 | av在线免费观看黄 | 国产精品99在线播放 | 色噜噜日韩精品一区二区三区视频 | 在线黄色免费av | 婷婷丁香在线视频 | 国产精品四虎 | 久草91视频 | 成人a免费 | 久久只精品99品免费久23小说 | 欧美 激情 国产 91 在线 | 欧美精品一区二区免费 | 欧美日韩伦理在线 | 中文理论片 | 日韩国产精品久久 | 欧美视频国产视频 | 最近日本韩国中文字幕 | avcom在线| 国内精品久久久久久久久久久 | 国产资源精品 | 久久y| 国产专区视频在线观看 | 日韩一区二区在线免费观看 | 精品 一区 在线 | 色婷婷免费视频 | 国产精品久久一区二区三区不卡 | 狠狠色噜噜狠狠 | 91免费高清视频 | 视频一区二区国产 | 中文字幕在线观看免费高清完整版 | 最近日本中文字幕 | 天天干天天插 | 香蕉久久国产 | 国产精品麻豆三级一区视频 | 99热只有精品在线观看 | 中文字幕在线第一页 | www.久久色 | 成人免费在线视频观看 | 国产九九在线 | 免费亚洲婷婷 | 免费在线国产精品 | 日韩欧美一区二区不卡 | 国产亚洲在线视频 | 亚洲激情婷婷 | 精品在线一区二区三区 | 日韩乱色精品一区二区 | av九九九 | 色综合久久久久网 | 黄色在线看网站 | 最新av电影网址 | 久久看片 | av播放在线 | 日韩高清三区 | 亚洲毛片在线观看. | av中文电影| 亚洲清纯国产 | 亚洲五月激情 | 黄色成人在线观看 | 久久激情片 | 久久精选视频 | www黄免费 | 国产日韩欧美在线观看视频 | 久久久国产精品久久久 | 久草在线资源观看 | 日韩精品一区二区三区中文字幕 | 在线看片一区 | 色香com. | 91麻豆精品国产91久久久久 | 人人爱爱| 蜜臀久久99精品久久久酒店新书 | 中文在线免费观看 | 国内精品久久久久 | 国产精品片 | 日本韩国欧美在线观看 | 久久国内视频 | 成人免费在线视频观看 | 日本精品小视频 | 婷婷婷国产在线视频 | 欧美 日韩 久久 | 在线观看日韩中文字幕 | 国产色在线 | 亚洲综合在线五月 | 在线亚洲成人 | 91av成人| 国产91影院 | 亚洲日本va在线观看 | 成人免费网站视频 | 日本精品中文字幕在线观看 | 日韩在线观看视频网站 | 精品国产一区二区三区久久影院 | 国产精品99久久久久人中文网介绍 | 99热这里只有精品1 av中文字幕日韩 | 欧美午夜精品久久久久久浪潮 | 99热在线观看 | 丰满少妇一级 | 久久综合狠狠综合 | 日韩免费在线观看视频 | 欧美色图狠狠干 | 婷婷中文字幕在线观看 | 日本最新中文字幕 | 天天操夜夜曰 | 国产精品美女在线 | 91在线免费观看网站 | 日韩视频免费在线观看 | 久久久精品国产一区二区电影四季 | 日本成人中文字幕在线观看 | 一区二区三区在线观看免费视频 | 在线观看国产日韩欧美 | 亚洲精品视频在线观看网站 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线 影视 一区 | 久久久999免费视频 日韩网站在线 | 丝袜+亚洲+另类+欧美+变态 | 欧美亚洲久久 | 国产精品久久久久久久久蜜臀 | 操操操日日日干干干 | 丰满少妇一级 | 国产无遮挡又黄又爽在线观看 | 国产a免费 | 日韩一区二区三区在线看 | av一级片在线观看 | 99久久精品国产亚洲 | 久久久精品亚洲 | 日本精品久久久久中文字幕 | 九九九在线观看 | 美女久久久 | 国产福利不卡视频 | 超碰在线人人 | 欧美另类一二三四区 | 人人澡视频 | 色婷婷成人 | 在线精品视频在线观看高清 | 日韩视频a | 色综合久久88色综合天天6 | 欧美一区二区在线 | 国产成人精品一区二区 | 亚洲精品在线观看的 | 日韩欧美一区二区在线观看 | 国产一级精品在线观看 | bbbb操bbbb | 欧美aa一级 | 深夜成人av | 黄色av电影免费观看 | 日韩欧美视频一区 | 免费av福利| 黄色小说在线免费观看 | 国产91亚洲精品 | 天天操操操操操 | 911国产精品| 日韩欧美视频免费观看 | 免费成人在线观看视频 | 久久婷婷一区二区三区 | 狠狠色丁香婷婷综合最新地址 | av中文字幕第一页 | 久久久久久国产精品免费 | 国产成人久久精品77777综合 | 亚洲精品高清视频 | 成人午夜精品久久久久久久3d | a特级毛片| 最近日韩免费视频 | 一区二区三区精品久久久 | 97超碰在线免费 | 久久天堂精品视频 | 日韩欧美视频一区二区 | 亚洲精品永久免费视频 | 日韩欧美国产精品 | 91精品视频在线免费观看 | 国产黄 | 一区二区三区国产精品 | 在线观看中文字幕 | 香蕉91视频| 久久亚洲热 | 久热色超碰 | 国产精品成人一区 | 五月婷网站 | 九色免费视频 | 欧美小视频在线观看 | 欧美精品久久久久久久久久 | 黄网在线免费观看 | 9ⅰ精品久久久久久久久中文字幕 | 日韩免费在线看 | 91精品一| 精品女同一区二区三区在线观看 | 国产黄av| 免费高清av在线看 | 久久爱资源网 | 天天插天天色 | 人人草人 | 九七视频在线观看 | 久久久五月婷婷 | 国产精品爽爽爽 | 91久久电影 | 午夜精品视频免费在线观看 | 免费av观看| 亚洲国产伊人 | www夜夜操com | 国产在线中文 | 国产视频在线一区二区 | 国产成人精品一区在线 | 欧美性黑人 | 在线直播av | 青青草国产精品 | 激情 婷婷 | 91最新地址永久入口 | 亚洲国产丝袜在线观看 | 久久久免费精品国产一区二区 | 中文字幕网站视频在线 | 干干夜夜| 日韩videos| 91视频链接 | 国产精品国内免费一区二区三区 | 久草在线久| 国产精品专区在线观看 | 97网| 有码中文字幕 | 免费看片色 | 久久久免费看视频 | 国产91电影在线观看 | 久草免费福利在线观看 | av片中文字幕| 国产护士av | av免费在线观看1 | 国产精品久久久久久超碰 | 91香蕉视频色版 | 免费网站色 | 成人久久18免费网站麻豆 | 国产日韩欧美在线影视 | 婷婷色站| 国产精品专区在线 | 91av在线视频播放 | 最近中文字幕大全中文字幕免费 | 日韩精品欧美专区 | 日本爱爱免费视频 | 日日操日日插 | 久精品视频在线 | aaa日本高清在线播放免费观看 | 男女啪啪免费网站 | 久久免费在线观看 | 成年人视频在线免费播放 | а天堂中文最新一区二区三区 | 国产精品久久久久一区二区 | 国产精品日韩久久久久 | 日韩欧美高清在线 | 97色资源 | 日日爱网址 | 国产精品成人免费精品自在线观看 | 激情五月网站 | 色天天综合网 | 综合网婷婷 | 韩国精品在线观看 | 97超碰在| 五月网婷婷 | 成人在线观看免费视频 | 亚洲精品视频在线看 | 天天做天天射 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 久久狠狠亚洲综合 | 国产手机视频在线 | 国产精品一二三 | 日本午夜在线亚洲.国产 | 日韩午夜一级片 | 欧美美女激情18p | 青青啪| 日韩美女av在线 | 久久久久久久久爱 | 五月综合色 | 99久久99视频只有精品 | 日韩精品在线视频免费观看 | 国产看片网站 | 91精品国产亚洲 | 久久久性 | 99免费在线视频观看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 国产精品乱码一区二三区 | 日韩成人免费观看 | 色多视频在线观看 | 国产中文字幕91 | 国产精品亚洲成人 | 国产高清一区二区 | 免费日韩一区 | 亚洲精品乱码久久久久久蜜桃91 | 麻豆视频在线观看免费 | av中文字幕在线免费观看 | 国产成人精品久久亚洲高清不卡 | 久久久91精品国产一区二区精品 | 丁香婷婷久久久综合精品国产 | 麻豆免费看片 | 国产 成人 久久 | 国产高清专区 | 久久黄色片 | 久久久91精品国产一区二区三区 | 国产精品久久久久久久久久久久午夜片 | 在线视频1卡二卡三卡 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 午夜精品视频福利 | 免费视频你懂的 | 亚洲精品www | 欧美日韩国产综合网 | 韩国精品视频在线观看 | 日韩v在线91成人自拍 | 24小时日本在线www免费的 | 日韩a级免费视频 | 国产精品6999成人免费视频 | 青青河边草手机免费 | 天天色天天操综合 | 国产成人高清 | 日韩精品久久中文字幕 | www.五月天婷婷 | 成全免费观看视频 | 美女国产免费 | 综合网在线视频 | 成人在线电影观看 | 美女啪啪图片 | 九九av| 成人a视频在线观看 | 在线激情小视频 | 日韩成人精品一区二区三区 | 天天综合入口 | 国内一级片在线观看 | 日韩av片免费在线观看 | 超碰九九| 91精品久久久久久久久久久久久 | 91传媒91久久久 | 色一色在线 | 国产一区二区视频在线 | 6080yy精品一区二区三区 | 日韩一级电影在线观看 | 99视频在线免费 | 欧美精品一区二区蜜臀亚洲 | 国产精品国产三级国产aⅴ9色 | 亚洲人人精品 | 久久久久免费 | 婷婷色亚洲 | 精品视频在线观看 | 国产精品区二区三区日本 | 丁香婷婷在线 | 中文字幕在线观看亚洲 | 国产精品原创av片国产免费 | 色婷婷a| 又污又黄网站 | 亚洲国内精品 | 欧美日韩高清一区二区 | 亚洲乱码中文字幕综合 | 久草在线视频免赞 | 国产精品免费久久 | 国内精品视频免费 | 一区二区不卡视频在线观看 | 日韩羞羞 | 91av免费看 | 深爱婷婷 | 亚洲人成免费网站 | 免费黄色在线播放 | 看片一区二区三区 | 亚洲国产精品久久久久婷婷884 | 成人免费中文字幕 | 欧美日韩不卡一区二区 | 国产又粗又猛又黄 | 五月av在线| 在线激情av电影 | 欧美久久综合 | 天天操天天操天天操天天操天天操天天操 | 香蕉手机在线 | 欧美精品亚洲精品 | 国产啊v在线观看 | 日韩在线第一 | 免费成人av电影 | 国产精品国产三级国产专区53 | 久久成熟 | 中文字幕在线字幕中文 | 天天射狠狠干 | 日韩av电影免费在线观看 | 欧美va天堂va视频va在线 | 久草免费新视频 | 在线观看中文字幕第一页 | 三级免费黄| 亚洲视屏在线播放 | 日日操日日插 | 国产精品av久久久久久无 | 播五月综合| 粉嫩高清一区二区三区 | 亚洲综合日韩在线 | 国产精品一区二区在线播放 | 久久综合免费视频 | 欧美极品少妇xxxx | 久久日韩精品 | 午夜av大片| 欧美一级小视频 | 国产精品自在线拍国产 | aaa亚洲精品一二三区 | 九九99| av在线影视 | 亚洲永久精品在线 | 成人网色 | 国产精品久久久久永久免费 | 在线电影91 | 精品一区在线看 | 久久与婷婷 | 国产精品每日更新 | 美女网站免费福利视频 | 特级毛片在线免费观看 | 精品免费 | 欧美日韩免费一区二区三区 | 四虎影视精品永久在线观看 | 国产精品一级视频 | 中文字幕在线成人 | 中文字幕一区二区三区四区久久 | 天天射色综合 | 国产精品青草综合久久久久99 | 337p西西人体大胆瓣开下部 | 婷婷综合在线 | 免费情趣视频 | 成人久久久电影 | 国产福利不卡视频 | 国产91影院 | 成年人在线看视频 | 国产综合福利在线 | 久久人人爽人人片 | 欧美精品一级视频 | 网站免费黄色 | 五月婷网 | 久久精品激情 | 国产精品嫩草影院9 | 欧美视频99 | 日韩特级片 | 日韩在线观看中文字幕 | 国产亚洲精品v | 免费能看的av | 亚洲欧美日韩精品久久久 | 亚洲天堂精品视频在线观看 | 在线观看免费观看在线91 | 国产资源在线视频 | 国产vs久久 | 毛片随便看 | 日韩av中文字幕在线免费观看 | 日韩久久一区 | 欧美网站黄色 | 国产一区二三区好的 | 国产美女精品视频 | 亚洲精品www | 一区二区国产精品 | 欧美日韩久久久 | 午夜精品久久久久久中宇69 | 中文不卡视频 | 欧美精品久久久久久久久久久 | 天天操伊人 | 久久久久久久看片 | 国产午夜麻豆影院在线观看 | 国产高清在线a视频大全 | 99视频精品免费视频 | 国产视频日韩视频欧美视频 | 视频精品一区二区三区 | 日本久久久久久科技有限公司 | 成人9ⅰ免费影视网站 | 国产一二三在线视频 | 成人在线免费视频观看 | 国产精品theporn | 日本中文字幕在线视频 | 成人精品视频久久久久 | av不卡中文字幕 | 视频在线99re| 午夜av网站| 国产精品久久久网站 | 亚洲狠狠操 | 日韩久久一区二区 | 1024手机基地在线观看 | 国产精品v欧美精品 | 日韩中文字幕免费看 | 国产高清亚洲 | 欧美日韩超碰 | 日日射av | 视频在线亚洲 | 成人黄大片 | 中文字幕在线观看的网站 | 婷婷六月色 | 亚洲日本va午夜在线影院 | 黄网站免费大全入口 | 西西4444www大胆艺术 | 国产拍揄自揄精品视频麻豆 | 伊人午夜视频 | 久草9视频 | 99电影456麻豆| 欧洲亚洲女同hd | 色黄www小说| 国产视频 久久久 | 久久成人欧美 | 久久久精品视频成人 | 91九色国产蝌蚪 | av3级在线| 久久精品中文字幕免费mv | 涩涩资源网 | 国产精品婷婷 | 日本3级在线观看 | av三级在线播放 | 在线视频 亚洲 | 国产精品久久久久久久久婷婷 | 黄色三级免费 | 婷婷九月丁香 | 日本不卡视频 | 在线蜜桃视频 | 免费色视频网址 | 五月婷丁香网 | 亚洲国产精品女人久久久 | 91中文在线视频 | 成人黄色大片在线免费观看 | 午夜精品久久久 | 片黄色毛片黄色毛片 | 成年人黄色免费视频 | 国产理论在线 | 中文字幕一区二区三区在线播放 | 涩涩网站在线播放 | 国偷自产视频一区二区久 | 91精品国产99久久久久久久 | 久久久久久免费视频 | 香蕉久久久久久av成人 | 中文字幕在线免费观看视频 | 国产一区二区在线观看视频 | 久久视频在线视频 | 国产中文字幕一区二区三区 | 一区二区精品视频 | 日韩欧美一区二区在线观看 | 精品国产乱码一区二 | 又色又爽又黄高潮的免费视频 | 97精品久久人人爽人人爽 | 色网站在线免费 | 在线免费观看一区二区三区 | 日本中文字幕在线一区 | 超碰在线最新地址 | 国产高清在线一区 | 黄色小网站免费看 | 亚洲国产精品久久久久婷婷884 | 天天曰天天射 | 超碰在线观看99 | 九九九九九九精品 | 综合婷婷丁香 | 黄色成人影院 | 成人av网站在线播放 | 国内亚洲精品 | 国产视频二区三区 | 在线观看日韩视频 | 精品久久久久久久久久 | 成人一区二区在线观看 | 国产精品女同一区二区三区久久夜 | 久久综合狠狠综合久久综合88 | 久久99精品久久久久久 | 成人中文字幕+乱码+中文字幕 | 欧美一级黄色片 | 国产色婷婷精品综合在线手机播放 | 97成人在线观看 | 99精品一区| 国产99久久久国产精品成人免费 | 亚洲国产影院av久久久久 | www.99热精品| 一区二区三区在线观看中文字幕 | 综合久久五月天 | 亚洲人成免费网站 | 国产精品不卡在线 | aaa日本高清在线播放免费观看 | 在线观看中文字幕视频 | 国产精品视频专区 | 久久激情网站 | av线上免费观看 | 免费福利视频导航 | 超碰人人射| 欧美日韩一区二区三区视频 | 在线观看国产中文字幕 | 欧美日韩中文在线观看 | 国产精品自产拍在线观看网站 | 在线亚洲欧美视频 | 色婷婷综合久久久中文字幕 | 天天插天天狠 | 亚洲精品国产综合久久 | 九色视频网站 | 亚洲国产精彩中文乱码av | av丁香 | 在线韩国电影免费观影完整版 | 在线观看亚洲成人 | 成 人 黄 色 片 在线播放 | 最新超碰| 日韩精品一区二区三区视频播放 | 久久er99热精品一区二区三区 | 日韩精品视| 黄色免费在线看 | 欧洲成人免费 | 日日碰狠狠添天天爽超碰97久久 | 在线日本看片免费人成视久网 | 日韩电影久久久 | 在线视频 91 | 亚洲高清在线视频 | 天天天干天天射天天天操 | 99亚洲精品 | 午夜色婷婷 | 免费在线观看视频a | 精品中文字幕视频 | 玖玖玖影院 | 一区二区视频电影在线观看 | 成人影视免费 | 91九色蝌蚪视频 | 亚洲自拍偷拍色图 | 亚洲成人一二三 | 欧美亚洲免费在线一区 | 欧美激情另类 | 国产精品久久久久久欧美 | 久久激情视频 久久 | 久精品视频 | 黄色小网站在线 | 欧美亚洲免费在线一区 | 色先锋av资源中文字幕 | 在线免费亚洲 | 国产精品免费视频一区二区 | 国产视频一区在线免费观看 | 日本久久精 | 久久免费视频观看 | 国产91对白在线 | 色在线国产 | 国产精品久久久久久久婷婷 | 天天操夜操视频 | 91精品久久久久久久久久久久久 | 国产亚洲视频系列 | av片一区 | 五月天精品视频 | 精品99免费 | 欧美午夜寂寞影院 | 亚洲欧美日韩在线一区二区 | 国内精品久久久久久久久 | 欧美日韩精品在线观看视频 | 99久久精品久久久久久清纯 | 国产精品专区在线观看 | 中文字幕高清在线播放 | 免费日韩电影 | 国产一级电影网 | 91色一区二区三区 | 在线免费观看欧美日韩 | 黄网站a |