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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql例子 restful_Gin实战:Gin+Mysql简单的Restful风格的API

發布時間:2025/3/21 数据库 80 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql例子 restful_Gin实战:Gin+Mysql简单的Restful风格的API 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們已經了解了Golang的Gin框架。對于Webservice服務,restful風格幾乎一統天下。Gin也天然的支持restful。下面就使用gin寫一個簡單的服務,麻雀雖小,五臟俱全。我們先以一個單文件開始,然后再逐步分解模塊成包,組織代碼。

It works

使用Gin的前提是安裝,我們需要安裝gin和mysql的驅動,具體的安裝方式就不在贅述。可以參考Golang 微框架Gin簡介和Golang持久化。

創建一個文件夾用來為項目,新建一個文件main.go:

? newland tree

.

└── main.go

main.go

package main

import (

"gopkg.in/gin-gonic/gin.v1"

"net/http"

)

func main() {

router := gin.Default()

router.GET("/", func(c *gin.Context) {

c.String(http.StatusOK, "It works")

})

router.Run(":8000")

}

編譯運行

? newland go run main.go

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.

- using env: export GIN_MODE=release

- using code: gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET / --> main.main.func1 (3 handlers)

[GIN-debug] Listening and serving HTTP on :8000

訪問 /即可看見我們返回的字串It works

數據庫

安裝完畢框架,完成一次請求響應之后。接下來就是安裝數據庫驅動和初始化數據相關的操作了。首先,我們需要新建數據表。一個及其簡單的數據表:

CREATE TABLE `person` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`first_name` varchar(40) NOT NULL DEFAULT '',

`last_name` varchar(40) NOT NULL DEFAULT '',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

創建數據表之后,初始化數據庫連接池:

func main() {

db, err := sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/test?parseTime=true")

if err != nil{

log.Fatalln(err)

}

defer db.Close()

db.SetMaxIdleConns(20)

db.SetMaxOpenConns(20)

if err := db.Ping(); err != nil{

log.Fatalln(err)

}

router := gin.Default()

router.GET("/", func(c *gin.Context) {

c.String(http.StatusOK, "It works")

})

router.Run(":8000")

}

使用sql.Open方法會創建一個數據庫連接池db。這個db不是數據庫連接,它是一個連接池,只有當真正數據庫通信的時候才創建連接。例如這里的db.Ping的操作。db.SetMaxIdleConns(20)和db.SetMaxOpenConns(20)分別設置數據庫的空閑連接和最大打開連接,即向Mysql服務端發出的所有連接的最大數目。

如果不設置,默認都是0,表示打開的連接沒有限制。我在壓測的時候,發現會存在大量的TIME_WAIT狀態的連接,雖然mysql的連接數沒有上升。設置了這兩個參數之后,不在存在大量TIME_WAIT狀態的連接了。而且qps也沒有明顯的變化,出于對數據庫的保護,最好設置這連個參數。

CURD 增刪改查

Restful的基本就是對資源的curd操作。下面開啟我們的第一個api接口,增加一個資源。

func main() {

...

router.POST("/person", func(c *gin.Context) {

firstName := c.Request.FormValue("first_name")

lastName := c.Request.FormValue("last_name")

rs, err := db.Exec("INSERT INTO person(first_name, last_name) VALUES (?, ?)", firstName, lastName)

if err != nil {

log.Fatalln(err)

}

id, err := rs.LastInsertId()

if err != nil {

log.Fatalln(err)

}

fmt.Println("insert person Id {}", id)

msg := fmt.Sprintf("insert successful %d", id)

c.JSON(http.StatusOK, gin.H{

"msg": msg,

})

})

...

}

執行非query操作,使用db的Exec方法,在mysql中使用?做占位符。最后我們把插入后的id返回給客戶端。請求得到的結果如下:

? ~ curl -X POST http://127.0.0.1:8000/person -d "first_name=hello&last_name=world" | python -m json.tool

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 62 100 30 100 32 5054 5391 --:--:-- --:--:-- --:--:-- 6400

{

"msg": "insert successful 1"

}

下面可以隨意增加幾條記錄。

查詢列表 Query

上面我們增加了一條記錄,下面就獲取這個記錄,查一般有兩個操作,一個是查詢列表,其次就是查詢具體的某一條記錄。兩種大同小異。

為了給查詢結果綁定到golang的變量或對象,我們需要先定義一個結構來綁定對象。在main函數的上方定義Person結構:

type Person struct {

Id int `json:"id" form:"id"`

FirstName string `json:"first_name" form:"first_name"`

LastName string `json:"last_name" form:"last_name"`

}

然后查詢我們的數據列表

router.GET("/persons", func(c *gin.Context) {

rows, err := db.Query("SELECT id, first_name, last_name FROM person")

if err != nil {

log.Fatalln(err)

}

defer rows.Close()

persons := make([]Person, 0)

for rows.Next() {

var person Person

rows.Scan(&person.Id, &person.FirstName, &person.LastName)

persons = append(persons, person)

}

if err = rows.Err(); err != nil {

log.Fatalln(err)

}

c.JSON(http.StatusOK, gin.H{

"persons": persons,

})

})

讀取mysql的數據需要有一個綁定的過程,db.Query方法返回一個rows對象,這個數據庫連接隨即也轉移到這個對象,因此我們需要定義row.Close操作。然后創建一個[]Person的切片。

使用make,而不是直接使用var persons []Person的聲明方式。還是有所差別的,使用make的方式,當數組切片沒有元素的時候,Json會返回[]。如果直接聲明,json會返回null。

接下來就是使用rows對象的Next方法,遍歷所查詢的數據,一個個綁定到person對象上,最后append到persons切片。

? ~ curl http://127.0.0.1:8000/persons | python -m json.tool

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 113 100 113 0 0 101k 0 --:--:-- --:--:-- --:--:-- 110k

{

"persons": [

{

"first_name": "hello",

"id": 1,

"last_name": "world"

},

{

"first_name": "vanyar",

"id": 2,

"last_name": "elves"

}

]

}

查詢單條記錄 QueryRow

查詢列表需要使用迭代rows對象,查詢單個記錄,就沒這么麻煩了。雖然也可以迭代一條記錄的結果集。因為查詢單個記錄的操作實在太常用了,因此golang的database/sql也專門提供了查詢方法

router.GET("/person/:id", func(c *gin.Context) {

id := c.Param("id")

var person Person

err := db.QueryRow("SELECT id, first_name, last_name FROM person WHERE id=?", id).Scan(

&person.Id, &person.FirstName, &person.LastName,

)

if err != nil {

log.Println(err)

c.JSON(http.StatusOK, gin.H{

"person": nil,

})

return

}

c.JSON(http.StatusOK, gin.H{

"person": person,

})

})

查詢結果為:

? ~ curl http://127.0.0.1:8000/person/1 | python -m json.tool

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 60 100 60 0 0 20826 0 --:--:-- --:--:-- --:--:-- 30000

{

"person": {

"first_name": "hello",

"id": 1,

"first_name": "world"

}

}

查詢單個記錄有一個小問題,當數據不存在的時候,同樣也會拋出一個錯誤。粗暴的使用log退出有點不妥。返回一個nil的時候,萬一真的是因為錯誤,比如sql錯誤。這種情況如何解決。還需要具體場景設計程序。

增刪改查,下面進行更新的操作。前面增加記錄我們使用了urlencode的方式提交,更新的api我們自動匹配綁定content-type

router.PUT("/person/:id", func(c *gin.Context) {

cid := c.Param("id")

id, err := strconv.Atoi(cid)

person := Person{Id: id}

err = c.Bind(&person)

if err != nil {

log.Fatalln(err)

}

stmt, err := db.Prepare("UPDATE person SET first_name=?, last_name=? WHERE id=?")

if err != nil {

log.Fatalln(err)

}

defer stmt.Close()

rs, err := stmt.Exec(person.FirstName, person.LastName, person.Id)

if err != nil {

log.Fatalln(err)

}

ra, err := rs.RowsAffected()

if err != nil {

log.Fatalln(err)

}

msg := fmt.Sprintf("Update person %d successful %d", person.Id, ra)

c.JSON(http.StatusOK, gin.H{

"msg": msg,

})

})

使用 urlencode的方式更新:

? ~ curl -X PUT http://127.0.0.1:8000/person/2 -d "first_name=noldor&last_name=elves" | python -m json.tool

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 72 100 39 100 33 3921 3317 --:--:-- --:--:-- --:--:-- 4333

{

"msg": "Update person 2 successful 1"

}

使用json的方式更新:

? ~ curl -X PUT http://127.0.0.1:8000/person/2 -H "Content-Type: application/json" -d '{"first_name": "vanyar", "last_name": "elves"}' | python -m json.tool

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 85 100 39 100 46 4306 5079 --:--:-- --:--:-- --:--:-- 5750

{

"msg": "Update person 2 successful 1"

}

最后一個操作就是刪除了,刪除所需要的功能特性,上面的例子都覆蓋了。實現刪除也就特別簡單了:

router.DELETE("/person/:id", func(c *gin.Context) {

cid := c.Param("id")

id, err := strconv.Atoi(cid)

if err != nil {

log.Fatalln(err)

}

rs, err := db.Exec("DELETE FROM person WHERE id=?", id)

if err != nil {

log.Fatalln(err)

}

ra, err := rs.RowsAffected()

if err != nil {

log.Fatalln(err)

}

msg := fmt.Sprintf("Delete person %d successful %d", id, ra)

c.JSON(http.StatusOK, gin.H{

"msg": msg,

})

})

我們可以使用刪除接口,把數據都刪除了,再來驗證上面post接口獲取列表的時候,當記錄沒有的時候,切片被json序列化[]還是null

? ~ curl http://127.0.0.1:8000/persons | python -m json.tool

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 15 100 15 0 0 11363 0 --:--:-- --:--:-- --:--:-- 15000

{

"persons": []

}

把persons := make([]Person, 0)改成persons []Person。編譯運行:

? ~ curl http://127.0.0.1:8000/persons | python -m json.tool

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 17 100 17 0 0 13086 0 --:--:-- --:--:-- --:--:-- 17000

{

"persons": null

}

至此,基本的CURD操作的restful風格的API已經完成。內容其實不復雜,甚至相當簡單。完整的代碼可以通過GIST獲取。

組織代碼

實現了一個基本點restful服務,可惜我們的代碼都在一個文件中。對于一個庫,單文件或許很好,對于稍微大一點的項目,單文件總是有點非主流。當然,更多原因是為了程序的可讀和維護,我們也需要重新組織代碼,拆分模塊和包。

封裝模型方法

我們的handler出來函數中,對請求的出來和數據庫的交互,都糅合在一起。首先我們基于創建的Person結構創建數據模型,以及模型的方法。把數據庫交互拆分出來。

創建一個單例的數據庫連接池對象:

var db *sql.DB

func main() {

var err error

db, err = sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/test?parseTime=true")

if err != nil {

log.Fatalln(err)

}

defer db.Close()

if err := db.Ping(); err != nil {

log.Fatalln(err)

}

...

}

這樣在main包中,db就能隨意使用了。

接下來,再把增加記錄的的函數封裝成Person結構的方法:

func (p *Person) AddPerson() (id int64, err error) {

rs, err := db.Exec("INSERTs INTO person(first_name, last_name) VALUES (?, ?)", p.FirstName, p.LastName)

if err != nil {

return

}

id, err = rs.LastInsertId()

return

}

然后handler函數也跟著修改,先創建一個Person結構的實例,然后調用其方法即可:

router.POST("/person", func(c *gin.Context) {

firstName := c.Request.FormValue("first_name")

lastName := c.Request.FormValue("last_name")

person := Person{FirstName: firstName, LastName: lastName}

ra_rows, err := person.AddPerson()

if err != nil {

log.Fatalln(err)

}

msg := fmt.Sprintf("insert successful %d", ra_rows)

c.JSON(http.StatusOK, gin.H{

"msg": msg,

})

})

對于獲取列表的模型方法和handler函數也很好改:

func (p *Person) GetPersons() (persons []Person, err error) {

persons = make([]Person, 0)

rows, err := db.Query("SELECT id, first_name, last_name FROM person")

if err != nil {

return

}

defer rows.Close()

for rows.Next() {

var person Person

rows.Scan(&person.Id, &person.FirstName, &person.LastName)

persons = append(persons, person)

}

if err = rows.Err(); err != nil {

return

}

return

}

router.POST("/person", func(c *gin.Context) {

firstName := c.Request.FormValue("first_name")

lastName := c.Request.FormValue("last_name")

person := Person{FirstName: firstName, LastName: lastName}

ra_rows, err := person.AddPerson()

if err != nil {

log.Fatalln(err)

}

msg := fmt.Sprintf("insert successful %d", ra_rows)

c.JSON(http.StatusOK, gin.H{

"msg": msg,

})

})

剩下的函數和方法就不再一一舉例了。

增加記錄的接口中,我們使用了客戶端參數和Person創建實例,然后再調用其方法。而獲取列表的接口中,我們直接聲明了Person對象。兩種方式都可以。

Handler函數

gin提供了router.Get(url, handler func)的格式。首先我們可以把所有的handler函數從router中提取出來。

例如把增加記錄和獲取列表的handle提取出來

func AddPersonApi(c *gin.Context) {

firstName := c.Request.FormValue("first_name")

lastName := c.Request.FormValue("last_name")

person := Person{FirstName: firstName, LastName: lastName}

ra_rows, err := person.AddPerson()

if err != nil {

log.Fatalln(err)

}

msg := fmt.Sprintf("insert successful %d", ra_rows)

c.JSON(http.StatusOK, gin.H{

"msg": msg,

})

}

func main(){

...

router.POST("/person", AddPersonApi)

...

}

把modle和handler抽出來之后,我們的代碼結構變得更加清晰,具體可以參考這個GIST

組織項目

經過上面的model和handler的分離,代碼結構變得更加清晰,可是我們還是單文件。下一步將進行封裝不同的包。

數據庫處理

在項目根目錄創建下面三個文件夾,apis,databases和models,并在文件夾內創建文件。此時我們的目錄結果如下:

? newland tree

.

├── apis

│ └── person.go

├── database

│ └── mysql.go

├── main.go

├── models

│ └── person.go

└── router.go

apis文件夾存放我們的handler函數,models文件夾用來存放我們的數據模型。

myql.go的包代碼如下:

package database

import (

"database/sql"

_ "github.com/go-sql-driver/mysql"

"log"

)

var SqlDB *sql.DB

func init() {

var err error

SqlDB, err = sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/test?parseTime=true")

if err != nil {

log.Fatal(err.Error())

}

err = SqlDB.Ping()

if err != nil {

log.Fatal(err.Error())

}

}

因為我們需要在別的地方使用SqlDB這個變量,因此依照golang的習慣,變量名必須大寫開頭。

數據model封裝

修改models文件夾下的person.go,把對應的Person結構及其方法移到這里:

package models

import (

"log"

db "newland/database"

)

type Person struct {

Id int `json:"id" form:"id"`

FirstName string `json:"first_name" form:"first_name"`

LastName string `json:"last_name" form:"last_name"`

}

func (p *Person) AddPerson() (id int64, err error) {

rs, err := db.SqlDB.Exec("INSERT INTO person(first_name, last_name) VALUES (?, ?)", p.FirstName, p.LastName)

if err != nil {

return

}

id, err = rs.LastInsertId()

return

}

func (p *Person) GetPersons() (persons []Person, err error) {

persons = make([]Person, 0)

rows, err := db.SqlDB.Query("SELECT id, first_name, last_name FROM person")

if err != nil {

return

}

defer rows.Close()

for rows.Next() {

var person Person

rows.Scan(&person.Id, &person.FirstName, &person.LastName)

persons = append(persons, person)

}

if err = rows.Err(); err != nil {

return

}

return

}

....

handler

然后把具體的handler函數封裝到api包中,因為handler函數要操作數據庫,所以會引用model包

package apis

import (

"net/http"

"log"

"fmt"

"strconv"

"gopkg.in/gin-gonic/gin.v1"

. "newland/models"

)

func IndexApi(c *gin.Context) {

c.String(http.StatusOK, "It works")

}

func AddPersonApi(c *gin.Context) {

firstName := c.Request.FormValue("first_name")

lastName := c.Request.FormValue("last_name")

p := Person{FirstName: firstName, LastName: lastName}

ra, err := p.AddPerson()

if err != nil {

log.Fatalln(err)

}

msg := fmt.Sprintf("insert successful %d", ra)

c.JSON(http.StatusOK, gin.H{

"msg": msg,

})

}

...

路由

最后就是把路由抽離出來,修改router.go,我們在路由文件中封裝路由函數

package main

import (

"gopkg.in/gin-gonic/gin.v1"

. "newland/apis"

)

func initRouter() *gin.Engine {

router := gin.Default()

router.GET("/", IndexApi)

router.POST("/person", AddPersonApi)

router.GET("/persons", GetPersonsApi)

router.GET("/person/:id", GetPersonApi)

router.PUT("/person/:id", ModPersonApi)

router.DELETE("/person/:id", DelPersonApi)

return router

}

app入口

最后就是main函數的app入口,將路由導入,同時我們要在main函數結束的時候,關閉全局的數據庫連接池:

main.go

package main

import (

db "newland/database"

)

func main() {

defer db.SqlDB.Close()

router := initRouter()

router.Run(":8000")

}

至此,我們就把簡單程序進行了更好的組織。當然,golang的程序組織依包為基礎,不拘泥,根據具體的應用場景可以組織。

此時運行項目,不能像之前簡單的使用go run main.go,因為包main包含main.go和router.go的文件,因此需要運行go run *.go命令編譯運行。如果是最終編譯二進制項目,則運行go build -o app

總結

通過上述的實踐,我們了解了Gin框架創建基本的的restful服務。并且了解了如何組織golang的代碼包。我們討論了很多內容,但是唯獨缺少測試。測試很重要,考察一個框架或者三方包的時候,是否有測試文件以及測試覆蓋率是一個重要的參考。因為測試的內容很多,我們這里就不做單獨的測試介紹。后面會結合gofight給gin的api增加測試代碼。

此外,更多的內容,可以閱讀別人優秀的開源項目,學習并實踐,以提升自己的編碼能力。

總結

以上是生活随笔為你收集整理的mysql例子 restful_Gin实战:Gin+Mysql简单的Restful风格的API的全部內容,希望文章能夠幫你解決所遇到的問題。

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

日韩网站在线播放 | www.色午夜.com | 91av99| 女人高潮特级毛片 | 精品一区 在线 | 国产高清视频色在线www | www天天干 | 欧美性网站 | 少妇视频在线播放 | 91av资源在线| 婷婷丁香视频 | 在线观看av黄色 | 国产黄免费看 | 欧美韩国日本在线 | 五月天国产精品 | 日韩欧美高清一区二区 | 日本aaa在线观看 | 成人黄色小视频 | 99精品在线视频观看 | 日韩精品视频免费专区在线播放 | 亚洲精品色视频 | 99视频在线 | 久99久久| 久久久久久久久久久久影院 | 人人舔人人爱 | 国产伦精品一区二区三区免费 | 99视频这里有精品 | av手机在线播放 | 欧美黑人巨大xxxxx | 91视频3p | 国内少妇自拍视频一区 | 久久国产电影院 | 欧美成人xxx | 人人舔人人干 | 一二三精品视频 | 欧美日韩xx | 97超碰在线人人 | 国产999精品| 国产精品久久久久久久久久久不卡 | a电影免费看 | 久久优 | 97视频在线播放 | 999久久精品 | 国产一区观看 | 国产精品美女久久久久久久网站 | 免费观看www小视频的软件 | 国产偷国产偷亚洲清高 | 国产在线a不卡 | 在线播放亚洲 | 色婷婷综合在线 | 最近中文字幕大全中文字幕免费 | 亚洲精欧美一区二区精品 | 天天干 夜夜操 | 在线精品亚洲一区二区 | 日韩精品中文字幕有码 | av中文字幕不卡 | 国产成人精品久久久 | 国产在线观看免费观看 | 久久伊人免费视频 | 国产一级黄色av | 色99中文字幕 | 日韩欧美视频免费看 | 日韩中文免费视频 | 国产成视频在线观看 | 久久精品国产成人 | 欧美激情在线网站 | 国产麻豆电影在线观看 | 香蕉视频在线免费 | 999久久国精品免费观看网站 | 欧美性极品xxxx娇小 | 在线免费精品视频 | 亚洲午夜精品久久久 | 欧美男同网站 | 国产精品福利午夜在线观看 | 黄色a大片| 国产探花在线看 | 中文字幕一区在线观看视频 | 中文字幕资源网 国产 | 婷婷六月网 | 国产精品久久久久久久久蜜臀 | 国产高清视频在线免费观看 | 最近中文字幕在线 | 久久综合婷婷综合 | 久久久久综合网 | 在线观看视频国产 | 日本精品久久久久中文字幕 | 天天色天天草天天射 | av中文字幕日韩 | 91在线免费公开视频 | 九九九国产| 国产在线资源 | 国产xxxxx在线观看 | 正在播放五月婷婷狠狠干 | 国产精品成人一区二区三区 | 国产精品日韩欧美一区二区 | 五月婷婷六月丁香在线观看 | 97人人澡人人添人人爽超碰 | 国产99久久久欧美黑人 | 天天se天天cao天天干 | 98超碰人人 | 91免费观看国产 | 亚洲最新av网址 | 西西444www大胆无视频 | 国产精品美女久久久久久 | 色网站在线免费观看 | 久久久久久国产一区二区三区 | 一区二区在线电影 | 蜜臀av麻豆 | 中文字幕区 | 久久九精品 | 高清av免费一区中文字幕 | 99色国产| 在线日韩亚洲 | 91视频 - v11av| 亚洲aⅴ乱码精品成人区 | 欧美综合国产 | 激情开心 | 国产免费美女 | 99热最新精品 | 免费高清av在线看 | 97av影院| 亚洲综合五月 | 精品三级av| 91久久国产综合精品女同国语 | 欧美va天堂va视频va在线 | 午夜婷婷网 | 亚洲一级黄色av | 超碰在线成人 | 丝袜美腿亚洲 | 久久全国免费视频 | 国产精品免费高清 | 久久6精品| 欧美精品一区二区免费 | av官网在线| 日韩免费看片 | 在线日韩一区 | 国产亚洲一区二区三区 | 91av大全| 久久久久国产精品午夜一区 | 久久精品国产第一区二区三区 | av免费线看 | 成人午夜影院 | 免费亚洲成人 | 国产无遮挡猛进猛出免费软件 | 国产一区二区三区网站 | 中文字幕在线播放av | 亚洲成年人在线播放 | 超碰av在线播放 | 亚洲电影自拍 | 在线亚洲欧美日韩 | 99热.com | 国产在线小视频 | 天堂av一区二区 | 国产片免费在线观看视频 | 亚洲成免费 | 国产精品一区二区三区免费视频 | 日精品在线观看 | 欧美伦理一区二区 | 在线观看日本高清mv视频 | 在线91av | 91在线视频导航 | 欧美福利久久 | 国产美女久久久 | 国产精品欧美精品 | 色婷婷中文| 国产精品一区二区在线播放 | 久久只精品99品免费久23小说 | 久草久草久草久草 | 久草视频在线播放 | 五月黄色| 探花视频免费在线观看 | 亚州精品一二三区 | 国产专区在线视频 | 中文字幕一区二区三区在线观看 | 亚洲人成免费网站 | 欧美成人h版电影 | 国产91大片 | 美女视频网 | 午夜黄色| 人人网av| 国产小视频你懂的 | 丁香九月激情 | av黄色在线| 四虎在线观看精品视频 | 美女视频黄频大全免费 | 天天操人人要 | 黄色资源在线观看 | 国产日产精品久久久久快鸭 | 日韩女同一区二区三区在线观看 | 久久九九久久精品 | 狠狠色丁香久久婷婷综合丁香 | av高清一区二区三区 | 国产激情久久久 | 久久精品国产精品 | 一级性生活片 | 欧美色图亚洲图片 | 精品国产综合区久久久久久 | 在线观看亚洲免费视频 | 亚洲 综合 激情 | 亚洲精品五月天 | 成人在线免费av | 五月激情天 | 99电影456麻豆| 免费高清av在线看 | 奇米影视8888在线观看大全免费 | 韩日色视频| 五月婷香蕉久色在线看 | 午夜精品一二三区 | 99热九九这里只有精品10 | 成人三级黄色 | 91精品免费在线 | 一本一道波多野毛片中文在线 | 国产亚州av| 久久久久久久久久久网站 | 日日操操 | 婷婷六月丁香激情 | 日韩av视屏在线观看 | 麻豆一精品传二传媒短视频 | 在线免费av网 | 97热久久免费频精品99 | a天堂免费| 国产亚洲aⅴaaaaaa毛片 | 全久久久久久久久久久电影 | 欧美韩国在线 | 国产欧美在线一区二区三区 | 在线视频福利 | 久久综合综合久久综合 | 亚洲成人av电影在线 | 三级黄色理论片 | 992tv人人网tv亚洲精品 | 高清久久久久久 | 久久精品91久久久久久再现 | 日本精品久久久久影院 | 国产亚洲激情视频在线 | 欧美精品中文在线免费观看 | 日本久久久久久久久久久 | 欧美一区二区三区在线播放 | aⅴ视频在线 | 91在线精品秘密一区二区 | 亚洲精品国产精品国自产观看浪潮 | 中文在线免费一区三区 | 天天射天天射天天射 | 激情www| 精一区二区| 国产一级大片在线观看 | 久久免费中文视频 | 国产网站在线免费观看 | 超碰在线9 | 成人在线视频免费观看 | 天天综合网天天 | 亚洲国产中文字幕在线观看 | 色综合久久88色综合天天免费 | 国产一区二区三区视频在线 | 波多野结衣在线中文字幕 | 91在线公开视频 | 激情五月婷婷激情 | 美女免费视频观看网站 | 插综合网| 国产成人亚洲精品自产在线 | 精品乱码一区二区三四区 | 亚洲日本va在线观看 | 久久香蕉一区 | 九月婷婷色| 亚洲欧美成人在线 | 国产专区日韩专区 | 日韩欧在线 | av片在线观看免费 | 欧美精品在线观看免费 | 99久久精品费精品 | 精品视频国产 | 最新av在线播放 | 日本精品在线 | 日韩一区二区三区高清免费看看 | 国产精品第72页 | 欧美一二区在线 | av看片网| 国产精品乱码久久 | 99久久久国产精品免费99 | 99精品一区二区 | 99精品国产99久久久久久97 | 国产一区在线观看免费 | 不卡的一区二区三区 | 最近中文字幕久久 | 97av色| 国产午夜精品一区二区三区在线观看 | 成年人免费看av | 国产国产人免费人成免费视频 | 青青河边草免费视频 | 亚洲精品国产品国语在线 | 亚洲性少妇性猛交wwww乱大交 | 日韩精品在线视频 | 伊人影院在线观看 | 狠狠色丁香婷综合久久 | 麻豆果冻剧传媒在线播放 | 精品久久久久久亚洲综合网站 | 亚洲毛片一区二区三区 | 国产精品区二区三区日本 | 麻豆传媒视频在线免费观看 | 又黄又爽又刺激的视频 | www.久久91| 欧美性猛片, | 91人人插 | 欧美亚洲国产一卡 | 国产婷婷一区二区 | 在线观看免费视频你懂的 | 亚洲人人av| 中文字幕在线专区 | 久久综合久久综合这里只有精品 | 麻豆你懂的 | 国产欧美在线一区二区三区 | 亚洲欧美一区二区三区孕妇写真 | 最近免费观看的电影完整版 | 色吊丝在线永久观看最新版本 | 成人在线黄色 | 免费看久久久 | 深夜成人av | 亚洲视频播放 | av资源免费在线观看 | 日韩在线观看网站 | 色综合久久久久综合体桃花网 | 免费视频成人 | 99在线播放 | 免费精品久久久 | 国产精品免费观看网站 | av电影在线免费观看 | 免费网站黄色 | 四虎国产视频 | 成人免费在线观看入口 | 午夜精品在线看 | 日韩欧美一级二级 | 久久这里只有精品1 | 中文字幕在线成人 | 九九免费观看全部免费视频 | 一区中文字幕在线观看 | 免费观看v片在线观看 | 久久99爱视频 | 69精品人人人人 | 日韩午夜av | 国产午夜精品理论片在线 | 91人人爽人人爽人人精88v | 亚洲h在线播放在线观看h | 亚洲国产精品电影在线观看 | 亚洲精品动漫久久久久 | 国产精品免费看久久久8精臀av | 国产亚洲视频在线 | 国产精品精品国产色婷婷 | av资源免费看| 天天色影院 | 精品在线观看一区二区 | 日韩网站在线看片你懂的 | 国产精品自产拍在线观看网站 | 成人小视频在线观看免费 | 99视频在线免费观看 | 国产激情电影综合在线看 | 久久精品首页 | 在线视频 成人 | 亚洲男男gⅴgay双龙 | 国产成人在线网站 | 夜夜骑天天操 | 伊甸园av在线 | 精品久久视频 | 在线观看成人小视频 | 天天色综合三 | 97免费在线观看视频 | 一区二区精品国产 | 欧美巨大荫蒂茸毛毛人妖 | 国产伦理一区二区三区 | 成人av午夜 | 日韩在线短视频 | 91视频在线| 亚洲精品欧美专区 | 久久精品第一页 | 在线播放国产精品 | 久久久免费播放 | 久久久久久久久免费视频 | 热久久免费国产视频 | 国产在线一区二区三区播放 | www.伊人网.com| 天天操一操 | 在线国产视频一区 | 欧美少妇xxxxxx | 日韩中文字幕国产 | 激情五月婷婷激情 | 午夜精品电影一区二区在线 | 久草在线最新 | 久久综合久久综合这里只有精品 | 综合网伊人 | 中文字幕一区二区三区四区久久 | 麻豆网站免费观看 | 黄色大片免费播放 | 亚洲精品在 | 中文字幕在线免费观看视频 | 久久免费电影网 | 日韩免费网址 | 夜夜躁狠狠躁日日躁视频黑人 | 91麻豆国产福利在线观看 | 久久视频国产精品免费视频在线 | 亚洲国产成人精品在线观看 | 欧美激情综合色综合啪啪五月 | 亚洲成av人片在线观看 | 麻豆精品国产传媒 | 开心激情五月婷婷 | 中文在线最新版天堂 | 久久久久免费网站 | 精品欧美一区二区精品久久 | 欧美一级电影 | 国产免费成人av | 国产精品大片免费观看 | 中文字幕日本特黄aa毛片 | 最近中文字幕mv | av在线超碰 | 在线观看aa| 日韩在线中文字幕视频 | 亚洲成a人片在线www | 狠狠色伊人亚洲综合网站色 | 免费av网站在线看 | 超碰公开在线观看 | 日韩欧美v| 五月天丁香视频 | 亚洲国产精品日韩 | 欧美与欧洲交xxxx免费观看 | 黄色看片 | 日韩精品你懂的 | 日本中文字幕在线看 | 国产一区二区高清不卡 | 日韩婷婷| 国产精品videoxxxx | 亚洲欧美国内爽妇网 | 亚洲欧美日韩一级 | 不卡av电影在线 | 成人国产精品一区二区 | 亚洲精品97| 色噜噜在线观看 | 九九热精品国产 | 日韩一二区在线观看 | 国产原创在线 | 国产五月色婷婷六月丁香视频 | 国产免费激情久久 | 久久久久中文 | 国产精品中文在线 | 中文字幕一区二区三区四区久久 | 国产在线不卡视频 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 欧美日韩精品在线一区二区 | 国产视频一二区 | 91色九色 | 日韩影片在线观看 | 高清不卡毛片 | 成人动漫精品一区二区 | 特黄免费av | 日韩av免费大片 | 97超碰站| 亚洲综合色播 | 亚洲激情六月 | 九九久久久久99精品 | 亚洲成a人片在线观看网站口工 | 九九在线免费视频 | 久久96国产精品久久99软件 | 亚洲jizzjizz日本少妇 | 欧美性春潮 | 久久久精品影视 | 亚洲在线| 91视频com | 亚洲欧美日韩中文在线 | 中文字幕在线一二 | 欧美日韩精品免费观看 | 91激情 | 福利视频 | 久久久久二区 | 青青看片 | 一级精品视频在线观看宜春院 | 久久久91精品国产一区二区三区 | 97视频在线 | 中文字幕电影高清在线观看 | 精品久久久久久久久久岛国gif | 最近中文字幕免费视频 | a成人v在线 | 97在线观看免费视频 | 国产免费观看久久 | 九九色在线 | 日韩黄色大片在线观看 | 9免费视频| 午夜精品久久久久 | 天天做天天干 | 国产在线视频一区 | 国产日韩欧美在线观看视频 | 欧美一区在线观看视频 | 国产小视频在线免费观看 | 天天操天天射天天 | 色午夜影院 | 久久99热久久99精品 | 国产一区二区三区四区大秀 | 午夜国产在线 | 中文字幕你懂的 | 国产亚洲婷婷免费 | 人人玩人人添人人 | 4438全国亚洲精品在线观看视频 | 亚洲成aⅴ人片久久青草影院 | 日韩字幕在线观看 | 婷婷性综合 | 伊人黄色网 | 国产精品岛国久久久久久久久红粉 | 在线 影视 一区 | 91爱爱中文字幕 | 中文字幕一区2区3区 | 成年人免费观看国产 | 国产精品久久久久aaaa九色 | 在线播放日韩av | 国产精品va最新国产精品视频 | 精品高清美女精品国产区 | 337p欧美 | 国产极品尤物在线 | 欧美日韩一区二区三区不卡 | 蜜臀久久99精品久久久久久网站 | 伊人天天狠天天添日日拍 | av色综合 | 日本视频高清 | 99re中文字幕 | 国产一区视频免费在线观看 | 色综合中文综合网 | 天天操天天摸天天干 | 天天色天天草天天射 | 国内精品久久天天躁人人爽 | 黄色成人毛片 | 日韩精品欧美专区 | 日韩理论电影在线观看 | 日韩成人黄色 | 999在线精品 | 手机成人在线电影 | 免费看黄网站在线 | 美女视频黄色免费 | 午夜视频在线观看欧美 | 色婷婷视频在线 | 成人一区二区在线观看 | 国产香蕉97碰碰久久人人 | 草久在线 | 狠狠激情中文字幕 | www..com毛片| 成人免费视频视频在线观看 免费 | 婷婷久久一区二区三区 | 黄色三级网站在线观看 | 亚洲理论在线观看电影 | 欧美a在线看 | 久久国产精品二国产精品中国洋人 | 国产96精品| 日韩69av| 国产福利小视频在线 | 日韩色视频在线观看 | 天天干天天操天天拍 | 99视频一区二区 | 久久久精品国产免费观看一区二区 | 亚洲黄色在线播放 | 最新久久久 | 国产无吗一区二区三区在线欢 | 超碰国产97 | 久久99在线观看 | 超碰在线网 | 欧美久久久影院 | 蜜桃视频成人在线观看 | 日女人电影 | 99色| 国内精品久久久久久中文字幕 | 久久综合九色综合97_ 久久久 | 国产成人精品一区二区三区在线观看 | 国产中文字幕在线观看 | 一级国产视频 | 日本精品视频网站 | 91看毛片 | 日本在线观看一区二区三区 | 精品久久久久久久久亚洲 | 欧美人zozo | 激情视频网页 | 黄色av观看| 三上悠亚一区二区在线观看 | 一区二区三区精品在线视频 | 亚洲欧美国产日韩在线观看 | 免费看国产精品 | 色91在线视频 | 在线观看日韩一区 | 天天干天天搞天天射 | 奇米网777 | 97超碰免费在线观看 | 中文字幕国语官网在线视频 | 精品国产aⅴ一区二区三区 在线直播av | 日本精品久久久一区二区三区 | 日韩在线播放欧美字幕 | 在线观看视频福利 | 亚洲日本在线视频观看 | 国产人成一区二区三区影院 | 黄色a大片 | 国产字幕av| 又紧又大又爽精品一区二区 | 免费av试看 | 欧美国产高清 | 97av在线| 亚洲精品综合久久 | 国产精品ⅴa有声小说 | 国产亚洲综合精品 | 中文字幕观看av | 中文字幕在线观看2018 | 99在线视频精品 | 久久96国产精品久久99漫画 | 亚洲精品成人 | 婷五月天激情 | 久久久久综合网 | 少妇精品久久久一区二区免费 | 久久国产a | 天天av综合网 | 99国产视频在线 | 久久久精品视频成人 | 在线观看涩涩 | 18性欧美xxxⅹ性满足 | 日本99精品 | 欧美最猛性xxxxx免费 | 久久久国产毛片 | av电影免费在线 | 亚洲精品免费在线观看视频 | 久久久久久久久久久成人 | 久久综合九色综合97_ 久久久 | 日韩一二区在线观看 | 伊人久久国产 | 久久精品观看 | 日本久久影视 | 午夜久久成人 | 久久久久久毛片精品免费不卡 | 亚洲精品高清视频 | 久久高清av | 美女久久久久久久久久久 | 国产成人在线综合 | 亚洲精品影视在线观看 | 91色在线观看视频 | 综合色久| 九九九九精品九九九九 | 热久久视久久精品18亚洲精品 | 久久激情五月丁香伊人 | 日韩三级在线 | 成人观看 | 国产精品视频免费 | 国产中文字幕第一页 | 99热这里只有精品8 久久综合毛片 | 日韩电影在线一区 | 国产美女网站视频 | 亚洲a免费 | 一二三区在线 | 最新91在线视频 | 国产女人18毛片水真多18精品 | 手机在线黄色网址 | 国产免费一区二区三区网站免费 | 欧洲在线免费视频 | 97超碰影视 | 国产一区二区免费 | 国产一区在线观看免费 | 久久免费视频这里只有精品 | 国产色爽 | 久久五月婷婷综合 | 99久久久久成人国产免费 | 国产精品丝袜久久久久久久不卡 | 岛国av在线免费 | 国产电影一区二区三区四区 | 日韩免费电影 | 久久只有精品 | 亚洲成人av影片 | 久久精品视频2 | 日韩大片免费在线观看 | 久久美女视频 | www.久久爱.cn | 超碰人人在线观看 | 天天久久综合 | 最新免费av在线 | 最近久乱中文字幕 | 成人黄大片 | 久草电影在线观看 | 日韩欧美在线视频一区二区三区 | 手机在线黄色网址 | 国产91国语对白在线 | www.com黄 | 国产福利在线免费观看 | 麻豆免费视频观看 | 亚洲va欧洲va国产va不卡 | 人人射av| 安徽妇搡bbbb搡bbbb | 中文不卡视频在线 | 狠狠干干 | 精品国产乱子伦一区二区 | av大全免费在线观看 | 成人影视免费 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 狂野欧美激情性xxxx欧美 | 精品国产美女 | 99精品黄色 | 免费观看91视频 | 亚洲精品免费在线观看 | www.午夜| 五月综合激情婷婷 | 麻花豆传媒一二三产区 | 成人小视频在线观看免费 | 成年人免费看的视频 | 色 免费观看 | 免费高清在线视频一区· | 国精产品999国精产品视频 | 国产一区二区精品91 | 久久综合九色综合97婷婷女人 | 视频在线观看国产 | 亚洲激情影院 | 操操日 | 狠狠干夜夜操 | 久久免费视频在线观看30 | 国产精品久久久一区二区三区网站 | 黄色片网站免费 | 日韩欧美视频在线免费观看 | aaa日本高清在线播放免费观看 | 黄色国产成人 | 美女视频一区 | 香蕉视频网址 | 欧美九九九 | 欧洲精品久久久久毛片完整版 | 天天干天天操av | 不卡的av在线播放 | 黄色免费网战 | 中文字幕欧美日韩va免费视频 | 91精品啪在线观看国产81旧版 | 黄网站色欧美视频 | 日韩黄视频 | 在线观看免费一级片 | 婷婷激情站 | 夜夜爱av | 久久天天躁夜夜躁狠狠躁2022 | 99精品欧美一区二区三区黑人哦 | 国产 欧美 日韩 | 一级免费av| 国产精品视频专区 | 久久99精品久久久久婷婷 | 97在线视频免费播放 | 日日夜夜噜噜噜 | 在线免费看片 | 亚洲国产网址 | 在线观看91精品国产网站 | 天天天天天天天操 | 在线观看亚洲精品 | www.色婷婷| 日韩中文字幕免费在线观看 | www黄色软件 | 成人国产精品久久久 | 美女视频免费精品 | 99视频在线 | 日本少妇视频 | 成人在线小视频 | 中国一级片免费看 | 最近日韩免费视频 | 精品美女在线观看 | 午夜国产在线观看 | 亚洲网站在线看 | 久久国际影院 | 亚洲高清在线 | 免费黄色网址大全 | 天天干天天碰 | 久久婷婷色综合 | 丁香视频全集免费观看 | 国产不卡av在线播放 | 亚洲午夜精品福利 | 丁香在线观看完整电影视频 | 超碰com | 五月开心网 | 国产精品免费久久久久 | 免费视频色 | 久久久久久毛片精品免费不卡 | 在线 欧美 日韩 | 久久国内精品 | 日韩在线视频二区 | 天天射天天干 | 天天干com | 精品国产人成亚洲区 | 国产免费一区二区三区最新 | 国产福利中文字幕 | 久久久99国产精品免费 | 久在线 | 国产精品麻豆视频 | 亚洲一区二区三区毛片 | 久久久久久久免费观看 | 国产乱对白刺激视频在线观看女王 | 日韩电影在线一区 | 就要色综合 | h文在线观看免费 | 国产精品国产三级国产aⅴ9色 | 国产亚洲精品久久久久久移动网络 | 日本最新一区二区三区 | 亚洲天天在线日亚洲洲精 | 久久亚洲私人国产精品 | 人人藻人人澡人人爽 | 久草综合在线观看 | 久久99久久99精品免视看婷婷 | 国产精品久久av | 成人免费视频在线观看 | 久久综合成人 | 婷婷色综合色 | 91在线porny国产在线看 | 天天摸天天弄 | 丁香婷婷激情国产高清秒播 | 9在线观看免费高清完整版在线观看明 | 69欧美视频 | 日韩网站在线观看 | 国产一区不卡在线 | 国产精品久久久久久久99 | 黄色三级在线看 | 久草精品视频 | 黄色影院在线免费观看 | 免费视频xnxx com | 美女网站在线播放 | 中文字幕电影在线 | av片在线观看 | 色噜噜在线观看 | 精品视频在线视频 | jizz欧美性9| 黄色毛片在线 | 成人九九视频 | 丝袜精品视频 | 国产又粗又猛又黄视频 | 99久久久久成人国产免费 | 日韩高清成人 | www.亚洲精品视频 | 99精品视频免费全部在线 | 日韩二区三区在线 | 日本精品在线看 | 色婷婷影视| 国产精品日韩欧美一区二区 | 中文字幕视频一区 | 激情开心站 | 超碰免费观看 | 天天摸日日摸人人看 | 国产在线精品播放 | 成人免费看视频 | 91一区二区三区久久久久国产乱 | 亚洲另类视频在线 | 日韩免费一区二区 | 97视频一区 | 久久不卡免费视频 | 日韩精品在线视频 | 看片的网址 | 久草视频免费播放 | 99久精品 | 99婷婷狠狠成为人免费视频 | av综合在线观看 | 91精品国产三级a在线观看 | 亚洲最新av在线网站 | 天堂视频一区 | 国产精品一区二区精品视频免费看 | 超碰在线人人爱 | 天天色天天操天天爽 | 久久的色 | 中文字幕精品一区二区三区电影 | 99精彩视频在线观看免费 | 国产一区二区免费在线观看 | 激情丁香综合五月 | 夜夜躁日日躁狠狠久久av | 99热九九这里只有精品10 | 五月婷在线播放 | 一级黄色a视频 | 精品国产1区2区3区 国产欧美精品在线观看 | 国产精品视频app | 国产高清视频在线播放 | 中文字幕的 | 日韩精品一区在线观看 | 99性视频 | 一级一级一片免费 | 日韩欧美69 | 国产高潮久久 | 亚洲成人av在线电影 | 亚洲色五月 | 亚洲天天在线日亚洲洲精 | 日韩网站视频 | 中文字幕永久 | 欧美成人播放 | 亚洲一区二区视频在线 | 亚洲精品国产免费 | 九九热视频在线 | 五月激情六月丁香 | 四虎免费在线观看 | 在线观看黄色av | 日韩二三区 | 91片黄在线观看 | 99热免费在线 | 国产午夜视频在线观看 | 亚洲91精品在线观看 | 久久人人爽人人爽人人片av免费 | 久久只精品99品免费久23小说 | 国产精品成人自产拍在线观看 | 六月婷操| 国产一区在线观看免费 | 日本在线观看中文字幕无线观看 | 青春草国产视频 | 亚洲婷久久 | 久久精品国产亚洲a | 欧美成人精品欧美一级乱黄 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 欧美日韩午夜爽爽 | 日韩欧美在线观看一区二区 | 国产成人精品午夜在线播放 | 久久精品毛片 | 欧美精彩视频 | 夜色资源站国产www在线视频 | 久草视频中文 | 91在线91拍拍在线91 | 精品一区二区在线观看 | 高清视频一区二区三区 | 久久免费黄色网址 | 天天射天 | 久久国产高清视频 | 欧美最爽乱淫视频播放 | 日本字幕网| 91av综合 | 亚洲一区二区精品 | 天天操比| av免费看av | 亚洲黄色av | 午夜av在线播放 | 国产午夜三级一区二区三桃花影视 | 欧美日韩激情视频8区 | 欧美视频在线观看免费网址 | 国产 色 | av电影av在线 | 亚洲精品视频在线 | 久久亚洲私人国产精品 | 欧美一区二区精品在线 | 黄色精品免费 | 免费看的黄色的网站 | 五月婷婷综合在线 | 日本久久久久久 | 欧美一区免费观看 | 福利一区视频 | 国产在线一区二区 | 久久国产精品久久国产精品 | 不卡精品视频 | 91黄视频在线观看 | 久久综合精品国产一区二区三区 | 少妇视频在线播放 | 免费能看的av | www.夜夜骑.com | 国产成人a亚洲精品v | 欧美资源在线观看 | 久久综合成人 | 久 久久影院 | 亚洲成人精品久久 | 亚洲伊人网在线观看 | 69精品视频| 91精品久久久久久综合五月天 | 亚洲欧美国产日韩在线观看 | 日本黄色免费电影网站 | 久久人人精| 婷婷精品在线视频 | 六月激情 | 欧美不卡视频在线 | 久久国产精品色婷婷 | 国产黄色片久久 | 激情欧美xxxx | 国产精品丝袜 | 日韩激情第一页 | 久久国产精品久久精品 | 中文字幕精| 丁香激情婷婷 | 亚洲综合黄色 | 高清视频一区 | 日韩三级.com | 毛片99| 久久久久久久国产精品视频 | 玖玖在线看 | av先锋影音少妇 | 亚洲欧美视频一区二区三区 | 毛片网站观看 | 一二三区av| 人人爽人人射 | 国产美女在线观看 | 精品国产乱码久久久久久浪潮 | 一色屋精品视频在线观看 | 国产精品一区二区av影院萌芽 | 蜜臀av夜夜澡人人爽人人桃色 | 天天天综合网 | 免费看的av片 | 久久精品一区二区三区视频 | 怡红院成人在线 | 日本黄色免费看 | 精品中文字幕在线观看 | 成人动图 | 免费在线成人av电影 | 一区二区不卡在线观看 | 国产美女精品在线 | 欧美亚洲精品在线观看 | 色婷婷久久一区二区 | 久久久久久久久久免费 | 免费看成人a | 亚洲欧洲在线视频 | 91视频这里只有精品 | 国产黄影院色大全免费 | 精品久久一区二区 | 国产精品女同一区二区三区久久夜 | 91在线视频一区 | 亚洲区另类春色综合小说校园片 | 亚洲黄色av网址 | 色.www|