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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Qt视频直播软件--项目实战(Day6)

發布時間:2024/8/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt视频直播软件--项目实战(Day6) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第六天項目日記

1、今日總結

完成客戶端首頁的所有功能
完成客戶端加入直播和創建直播的界面設計
增加json打包函數和json解析函數
增加服務器的開播消息和關閉直播的消息

2、設計思路

對于創建直播來說,只需要相應的客戶發送開播消息給服務器,然后服務器轉發給其他客戶端
關閉直播也是如此
另外,在客戶端連接之后,要發送當前開播的房間給客戶端

對于客戶端界面,開播和觀看直播的界面不同
開播界面如下(并非最終版本)


觀看直播的畫面如下

開播只需要之間點擊開播即可,開播后發送相應的房間號給其他客戶端
點擊觀看時,需要選擇房間號進行觀看進一步的內容還沒有實現

3、代碼說明

服務器

服務器都略有修改

新增json消息打包和解析


服務器要解析下面的json,打包上面的json

myjson.h
#ifndef MYJSON_H #define MYJSON_H#include <QJsonDocument> #include <QJsonObject> #include <QJsonParseError> #include <QDebug> #include <QJsonArray> #include <QByteArray>class MyJson { public:MyJson();//解析用戶名和密碼QString name_pswd_info(QString message,QString &pswd,QString &name);//打包直播刷新消息QString pack_live_flush(QString action,QStringList name_list); };#endif // MYJSON_H
myjson.cpp
#include "myjson.h"MyJson::MyJson() {}QString MyJson::name_pswd_info(QString message, QString &pswd, QString &name) {QByteArray bytes = message.toUtf8();QJsonParseError jsonError;QJsonDocument doucment = QJsonDocument::fromJson(bytes, &jsonError);if (!doucment.isNull() && (jsonError.error == QJsonParseError::NoError)) { // 解析未發生錯誤if (doucment.isObject()){QJsonObject object = doucment.object(); // 轉化為對象if (object.contains("Name")) {QJsonValue value = object.value("Name");if (value.isString()) {name = value.toString();qDebug() << "Name : " << name;}}else{return "json_error_no_name";}if (object.contains("password")) {QJsonValue value = object.value("password");if (value.isString()) {pswd = value.toString();qDebug() << "pswd : " << pswd;}}else{return "json_error_no_pswd";}}else{return "json is no object";}}else{return "json error";}return "success"; }QString MyJson::pack_live_flush(QString action, QStringList name_list) {QJsonObject json;json.insert("action",action);QJsonArray json_array;for (int i = 0; i < name_list.size(); ++i){json_array.insert(i,name_list.at(i));}json.insert("name",json_array);QJsonDocument document;document.setObject(json);QByteArray byteArray = document.toJson(QJsonDocument::Compact);QString strJson(byteArray);return strJson; }
tcpsocket.h

tcpsocket.cpp

精簡了解析函數,新增了對接收到消息的處理

#include "tcpsocket.h"TcpSocket::TcpSocket(QObject *parent):QTcpSocket(parent) {mydb = dbhelper::getIntance(NULL);mylog = MyLog::getInstance(NULL);//本來想要在這里發送連接的信號給服務器的,結果發現在他狀態改變的時候還讀取不到端口號和ip地址,所以就放在房間socket的地方去發送消息了// connect(this,SIGNAL(stateChanged(QAbstractSocket::SocketState)),this,SLOT(dataconnected()));//連接斷線函數/讀取函數和自定義的槽函數connect(this,SIGNAL(disconnected()),this,SLOT(datadisconnected()));connect(this,SIGNAL(readyRead()),this,SLOT(dataReceived())); }QString TcpSocket::getName() {return name; }int TcpSocket::getlive_state() {return live_state; }void TcpSocket::setlive_state(int state) {live_state = state; }void TcpSocket::msgPrase(QString msg_buf) {int item;QString buf;buf.clear();item = msg_buf.section('|',0,0).trimmed().toInt();int item_len = QString::number(item).length();// qDebug()<<"len"<<item_len;buf = msg_buf.right(msg_buf.length()-item_len-1);// qDebug()<<"item"<<item<<" "<<buf;//把它轉換成消息發送給serverMyMessage message((MsgId)item,buf,buf.length());if(message.isInEnum()){if(message.getmsgid() == MSG_CLIENT_CLOSE || message.getmsgid() == MSG_CLITEN_CONNECT){emit messageToServer(message); //發射消息信號}else if(message.getmsgid() == MSG_LOGIC){QString ret = prase_MSG_LOGIC(message.getmsgbuf());message.setmsgbuf(ret);qDebug()<<message.toString();this->write(message.toString().toLatin1(),message.toString().length()+1);this->flush();if(ret == "success"){emit logicToServer(this->peerName()); //發射消息信號qDebug()<<" emit logicToServer(this->peerName())"<<this->peerName();}}else if(message.getmsgid() == MSG_REGISTER){message.setmsgbuf(prase_MSG_REG(message.getmsgbuf()));this->write(message.toString().toLatin1(),message.toString().length()+1);this->flush();}else if(message.getmsgid() == MSG_SHAKE_HAND){//握手信號message.setmsgbuf(" ");this->write(message.toString().toLatin1(),message.toString().length()+1);this->flush();}else if(message.getmsgid() == MSG_CREATE_LIVE){//創建直播live_state = 1;emit messageToServer(message);}else if(message.getmsgid() == MSG_CLOSE_LIVE){//關閉直播live_state = 0;emit messageToServer(message);}}else{qDebug()<<"無效數據";} }QString TcpSocket::prase_MSG_LOGIC(QString message_buf) {QString name;QString pswd;QString parse_ret;parse_ret = myjson.name_pswd_info(message_buf,pswd,name);if(parse_ret != "success"){return parse_ret;}QString ret = mydb->logic_judge(name,pswd);if(ret == "success") {this->setPeerName(name);MyMessage message(MSG_CLITEN_CONNECT,name,name.length());QString connectbuf = this->peerName() +" "+this->peerAddress().toString()+" "+QString::number(this->peerPort()) + " connected!!";mylog->LogWrite(connectbuf);emit messageToServer(message);}return ret; }QString TcpSocket::prase_MSG_REG(QString message_buf) {QString name;QString pswd;QString parse_ret;parse_ret = myjson.name_pswd_info(message_buf,pswd,name);if(parse_ret != "success"){return parse_ret;}QString ret;ret = mydb->user_reg(name,pswd);return ret; }void TcpSocket::datadisconnected() {//斷開之后會發送-1qDebug()<<"emit disconnected("<<this->peerName()<<")";emit disconnected(this->peerName()); }void TcpSocket::dataReceived() {//處理督導的信號while(this->bytesAvailable() > 0){char buf[1024] = {'\0'};int length = bytesAvailable();this->read(buf,length); //讀取接收msgPrase(buf); //解析收到的數據} }
tcpserver.h
#ifndef TCPSERVER_H #define TCPSERVER_H#include <QObject> #include <QtNetwork> #include <QTcpServer> #include "tcpsocket.h" #include "mylog.h" #include "myjson.h"class TcpServer : public QTcpServer {Q_OBJECT public:explicit TcpServer(QObject* parent = 0,int port = 0);QList<TcpSocket*> tcpSocketList;//用來存儲客戶端指針的list容器MyLog *mylog;MyJson myjson;protected:void incomingConnection(int socketDescriptor);//重寫了連接函數signals:void msgToServer(MyMessage);//用來給main發送消息的信號public slots:void msgFromSocket(MyMessage);//用來處理從socket接收到信號的槽函數void tcpDisconnected(QString);//用來處理客戶端斷開的槽函數void tcpLogicSuccess(QString);//用來處理登錄成功的信號 };#endif // TCPSERVER_H
tcpserver.cpp
#include "tcpserver.h"TcpServer::TcpServer(QObject *parent, int port):QTcpServer(parent) {mylog = MyLog::getInstance(NULL);listen(QHostAddress::AnyIPv4,port); //用來監聽ipv4的客戶端,port是傳進來的 }void TcpServer::incomingConnection(int socketDescriptor) {TcpSocket *tcpSocket = new TcpSocket(this);tcpSocket->setSocketDescriptor(socketDescriptor);connect(tcpSocket, SIGNAL(messageToServer(MyMessage)),this, SLOT(msgFromSocket(MyMessage)));connect(tcpSocket,SIGNAL(logicToServer(QString)),this,SLOT(tcpLogicSuccess(QString)));connect(tcpSocket, SIGNAL(disconnected(QString)),this, SLOT(tcpDisconnected(QString)));//把socket指針放到socketlist中tcpSocketList.append(tcpSocket); }void TcpServer::msgFromSocket(MyMessage message) {qDebug()<<message.getmsgbuf();// (||message.getmsgid() == MSG_CLITEN_CONNECT)if(message.getmsgid() == MSG_CLIENT_CLOSE){emit msgToServer(message);return;}else if(message.getmsgid() == MSG_CLITEN_CONNECT){emit msgToServer(message);//給該客戶端發送更新的消息return;}else if(message.getmsgid() == MSG_CREATE_LIVE){emit msgToServer(message);//給其他客戶端發送開播消息for(int i = 0; i < tcpSocketList.count(); i++){QTcpSocket *temp = tcpSocketList.at(i);if(temp->peerName() != message.getmsgbuf()){QStringList name_list;name_list<<message.getmsgbuf();QString buf = myjson.pack_live_flush("on",name_list);MyMessage live_message(MSG_LIVE_FLUSH,buf,buf.length()); //開播消息temp->write(live_message.toString().toLatin1(), live_message.toString().length()+1);temp->flush();qDebug()<<live_message.toString()<<" "<<live_message.toString().length();continue;}}return;}else if(message.getmsgid() == MSG_CLOSE_LIVE){emit msgToServer(message);//給其他客戶端發送下播消息for(int i = 0; i < tcpSocketList.count(); i++){QTcpSocket *temp = tcpSocketList.at(i);if(temp->peerName() != message.getmsgbuf()){QStringList name_list;name_list <<message.getmsgbuf();QString buf = myjson.pack_live_flush("off", name_list);MyMessage live_message(MSG_LIVE_FLUSH,buf,buf.length()); //開播消息temp->write(live_message.toString().toLatin1(), live_message.toString().length()+1);temp->flush();continue;}}return;}}void TcpServer::tcpDisconnected(QString name) {QString disconnectbuf;//關閉for(int i = 0; i < tcpSocketList.count(); i++){TcpSocket *temp = tcpSocketList.at(i);if(temp->peerName() == name){disconnectbuf = temp->peerAddress().toString() + " " + QString::number(temp->peerPort()) + " disconnected!!";temp->destroyed();tcpSocketList.removeAt(i);break;}}//發送該客戶端被關閉的消息QString msgbuf = name;MyMessage message(MSG_CLIENT_CLOSE,msgbuf,msgbuf.length());emit msgToServer(message);disconnectbuf = name+" "+ disconnectbuf;mylog->LogWrite(disconnectbuf);return; }void TcpServer::tcpLogicSuccess(QString name) {QStringList name_list;for(int i = 0; i < tcpSocketList.count(); i++){QTcpSocket *temp = tcpSocketList.at(i);if(temp->peerName() == name){for(int j = 0;j<tcpSocketList.count();j++){TcpSocket *other_temp = tcpSocketList.at(j);if(other_temp->getlive_state() == 1){name_list<<other_temp->peerName();// QString buf = myjson.pack_live_flush("on",other_temp->peerName());// MyMessage live_message(MSG_LIVE_FLUSH,buf,buf.length()); //開播消息// temp->write(live_message.toString().toLatin1(), live_message.toString().length()+1);// temp->waitForBytesWritten(100);// temp->flush();// qDebug()<<"to "<<temp->peerName()<<live_message.toString()<<" "<<live_message.toString().length();}}QString buf = myjson.pack_live_flush("on",name_list);MyMessage live_message(MSG_LIVE_FLUSH,buf,buf.length()); //開播消息temp->write(live_message.toString().toLatin1(), live_message.toString().length()+1);temp->flush();qDebug()<<"to "<<temp->peerName()<<live_message.toString()<<" "<<live_message.toString().length();return;}} }
message.h
enum MsgId{MSG_START = 0,MSG_CLITEN_CONNECT, //連接消息MSG_READ_BYTES, //讀取接收到的消息MSG_CLIENT_CLOSE, //客戶端關閉的消息MSG_LOGIC, //客戶端登錄消息MSG_REGISTER,//客戶端注冊消息MSG_SHAKE_HAND, //握手MSG_CREATE_LIVE,//創建直播MSG_LIVE_FLUSH,//直播列表刷新MSG_CLOSE_LIVE,//直播間關閉MSG_END };
mainwindow.cpp

主要實現主播列表實時更新的功能

客戶端

客戶端主要是消息的發送,消息的解析 和界面的跳轉

clientjson.h
#ifndef CLIENTJSON_H #define CLIENTJSON_H#include <QJsonDocument> #include <QJsonObject> #include <QJsonArray> #include <QJsonParseError> #include <QDebug> #include <QByteArray>typedef struct live_flush{QString action;QStringList name; }Live_Flush_S;class ClientJson { public:ClientJson();//打包賬號密碼QString pack_name_pswd(QString name,QString pswd);//解析直播間刷新消息QString live_flush_info(QString message_buf,Live_Flush_S &live_msg); };#endif // CLIENTJSON_H
clientjson.cpp
#include "clientjson.h"ClientJson::ClientJson() {}QString ClientJson::pack_name_pswd(QString name, QString pswd) {QJsonObject json;json.insert("Name",name);json.insert("password",pswd);QJsonDocument document;document.setObject(json);QByteArray byteArray = document.toJson(QJsonDocument::Compact);QString strJson(byteArray);return strJson; }QString ClientJson::live_flush_info(QString message_buf, Live_Flush_S &live_msg) {QByteArray bytes = message_buf.toUtf8();QJsonParseError jsonError;QJsonDocument doucment = QJsonDocument::fromJson(bytes, &jsonError);if (!doucment.isNull() && (jsonError.error == QJsonParseError::NoError)) { // 解析未發生錯誤if (doucment.isObject()){QJsonObject object = doucment.object(); // 轉化為對象if (object.contains("action")) {QJsonValue value = object.value("action");if (value.isString()) {live_msg.action = value.toString();qDebug() << "action : " << live_msg.action;}}else{return "json_error_no_name";}if (object.contains("name")) {QJsonValue value = object.value("name");if (value.isArray()) {QJsonArray array = value.toArray();int size = array.size();for (int i = 0; i < size; ++i) {QJsonValue value = array.at(i);if (value.isString()) {live_msg.name<<value.toString();}}qDebug() << "name : " << live_msg.name;}else{return "name_json_error";}}else{return "json_error_no_action";}}else{return "json is no object";}}else{return "json error";}return "success"; }
tcpthread.cpp

主要是用來解析收到的直播刷新消息并且給界面發送信號

liveroom.cpp room.cpp

只是寫了關閉函數,并且重寫了關閉事件

widget.h
#ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMessageBox> #include <QDebug> #include "tcpthread.h" #include "mymessage.h" #include "clientjson.h" #include "room.h" #include "liveroom.h"namespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();void Logic_Init();//登錄初始化void User_Init();//使用界面初始化void connectToServer(); //用連接服務器void deleteListRoom(QString);public slots:void connect_state(QString); //用來控制連接狀態void connect_success(); //用來判斷連接狀態void logic_msg_recv(QString); //用來處理登錄消息void reg_msg_recv(QString); //用來處理注冊消息void liveroom_msg_recv(QString);void live_flush_recv(QString action,QStringList namelist);//用來處理直播間刷新void room_msg_recv(QString); //用來觀看直播的消息private slots:void on_radioshow_clicked(bool checked); //用來顯示密碼和隱藏密碼void on_pushlogic_clicked();//用來登錄void on_pushquit_clicked();//用來退出void on_pushregister_clicked();void on_pushCreate_clicked();void on_pushAdd_clicked();signals:void connect_enable(); //連接private:Ui::Widget *ui;TcpThread *tcpThread;//用來啟動socket線程 // bool status;QString userName; //賬號QString passWord; //密碼int Logic_Flag; //用來判斷是登錄還是注冊0注冊1登錄LiveRoom *liveroom;ClientJson myjson;Room *room;};#endif // WIDGET_H
widget.cpp
#include "widget.h" #include "ui_widget.h" #include <QThread>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);tcpThread = nullptr;room = nullptr;liveroom = nullptr;// status = false;Logic_Init();QObject::connect(this,SIGNAL(connect_enable()),this,SLOT(connect_success())); }Widget::~Widget() {delete ui; }void Widget::Logic_Init() {this->setWindowTitle("登錄/注冊");ui->linepswd->show();ui->lineUser->show();ui->radioshow->show();ui->pushlogic->show();ui->pushregister->show();ui->linepswd->setEchoMode(QLineEdit::Password);ui->pushAdd->hide();ui->pushCreate->hide();ui->listRoom->hide();ui->pushquit->hide(); }void Widget::User_Init() {this->setWindowTitle("云木直播平臺");ui->linepswd->hide();ui->lineUser->hide();ui->radioshow->hide();ui->pushlogic->hide();ui->pushregister->hide();ui->label->hide();ui->label_2->hide();ui->label_3->hide();ui->pushAdd->show();ui->pushCreate->show();ui->listRoom->show();ui->pushquit->show(); }void Widget::connectToServer() {QString Address_Ip = "127.0.0.1";int port = 8010;if(!tcpThread){tcpThread = new TcpThread;QObject::connect(tcpThread,SIGNAL(send_tcpmsg(QString)),this,SLOT(connect_state(QString)));QObject::connect(tcpThread,SIGNAL(send_logic_msg(QString)),this,SLOT(logic_msg_recv(QString)));QObject::connect(tcpThread,SIGNAL(send_reg_msg(QString)),this,SLOT(reg_msg_recv(QString)));QObject::connect(tcpThread,SIGNAL(send_live_flush_msg(QString,QStringList)),this,SLOT(live_flush_recv(QString,QStringList)));}tcpThread->startThread(Address_Ip,port); }void Widget::deleteListRoom(QString name) {int row = 0;QString line;while(row < ui->listRoom->count()){line=ui->listRoom->item(row)->text();if(name==line){//qDebug()<<"刪除成功";ui->listRoom->takeItem(row);break;}row++;} }void Widget::connect_state(QString message) {qDebug()<<message;if(message == "connecting") {ui->label_connect_state->setText("連接中...");}else if(message == "connect"){ui->label_connect_state->clear();emit connect_enable();return;}else if(message == "disconnect"){tcpThread->stopThread();return;}else if(message == "overtime"){QMessageBox::warning(NULL,tr("無法連接"),tr("無法連接請稍后再試"));ui->label_connect_state->clear();tcpThread->stopThread();return;}else if(message.left(9) == "reconnect"){QString text = "第"+message.right(1)+"次重連中";ui->label_connect_state->setText(text);} }void Widget::connect_success() {QString strJson = myjson.pack_name_pswd(userName,passWord);MyMessage mymsg((Logic_Flag?MSG_LOGIC:MSG_REGISTER),strJson,strJson.length());qDebug()<<mymsg.toString();tcpThread->onSendTcp(mymsg.toString()); }void Widget::logic_msg_recv(QString message) {if(message == "success"){QMessageBox::about(NULL,"登錄","登錄成功");User_Init();return;}else if(message == "pswd_error"){QMessageBox::warning(NULL," 密碼錯誤","密碼輸入錯誤請重試");tcpThread->stopThread();return;}else if(message == "no_name"){QMessageBox::warning(NULL,"未注冊","請先注冊賬號");tcpThread->stopThread();return;} }void Widget::reg_msg_recv(QString message) {if(message == "success"){QMessageBox::about(NULL,"注冊","注冊成功");tcpThread->stopThread();return;}else if(message == "rename"){QMessageBox::warning(NULL,"用戶名重復","請輸入其他用戶名");tcpThread->stopThread();}else{tcpThread->stopThread();} }void Widget::liveroom_msg_recv(QString liveroommsg) {if(liveroommsg == "close"){this->show();liveroom = nullptr;MyMessage live_close(MSG_CLOSE_LIVE,userName,userName.length());qDebug()<<live_close.toString();tcpThread->onSendTcp(live_close.toString());} }void Widget::live_flush_recv(QString action, QStringList namelist) {if(action == "on"){for(int i = 0;i<namelist.count();i++){QString name = namelist.at(i);ui->listRoom->addItem(name);}}else if(action == "off"){for(int i = 0;i<namelist.count();i++){QString name = namelist.at(i);deleteListRoom(name);}} }void Widget::room_msg_recv(QString roommsg) {if(roommsg == "close"){this->show();room = nullptr;} }void Widget::on_radioshow_clicked(bool checked) {if(checked){ui->linepswd->setEchoMode(QLineEdit::Normal);}else{ui->linepswd->setEchoMode(QLineEdit::Password);} }void Widget::on_pushlogic_clicked() {if(ui->lineUser->text().isEmpty()){QMessageBox::warning(NULL,tr("輸入錯誤"),tr("賬號不能為空"));return;}if(ui->linepswd->text().isEmpty()){QMessageBox::warning(NULL,tr("輸入錯誤"),tr("密碼不能為空"));return;}userName = ui->lineUser->text();passWord = ui->linepswd->text();Logic_Flag = 1;//連接connectToServer(); }void Widget::on_pushquit_clicked() {tcpThread->stopThread();QMessageBox::about(NULL,tr("退出"),tr("點擊退出"));this->close(); }void Widget::on_pushregister_clicked() {if(ui->lineUser->text().isEmpty()){QMessageBox::warning(NULL,tr("輸入錯誤"),tr("賬號不能為空"));return;}if(ui->linepswd->text().isEmpty()){QMessageBox::warning(NULL,tr("輸入錯誤"),tr("密碼不能為空"));return;}userName = ui->lineUser->text();passWord = ui->linepswd->text();Logic_Flag = 0;//連接connectToServer(); }void Widget::on_pushCreate_clicked() {MyMessage message(MSG_CREATE_LIVE,userName,userName.length());tcpThread->onSendTcp(message.toString());if(liveroom == NULL){qDebug()<<"new";liveroom = new LiveRoom;connect(liveroom,SIGNAL(sendlivemsg(QString)),this,SLOT(liveroom_msg_recv(QString)));liveroom->show();QString room_name = userName + "的直播間";liveroom->setWindowTitle(room_name);this->hide();}else{liveroom->show();}return; }void Widget::on_pushAdd_clicked() {if(ui->listRoom->count() == 0){QMessageBox::warning(NULL,tr("無法加入"),tr("沒有主播"));return;}if(ui->listRoom->currentItem() == NULL){QMessageBox::warning(NULL,tr("沒有選擇"),tr("請選擇要加入的直播間"));return;}else{if(room == NULL){qDebug()<<"new";room = new Room();connect(room,SIGNAL(roommsg(QString)),this,SLOT(room_msg_recv(QString)));room->show();QString liver = ui->listRoom->currentItem()->text();QString room_name = liver + "的直播間";room->setWindowTitle(room_name);this->hide();}else{room->show();}} }

4、項目文件

源代碼.

5、效果展示

1、測試開播下播時服務器的反應

2、測試開播時其他客戶端能否正常刷新

3、測試其他客戶端已經開播,用戶登錄后直播間信息是否正常刷新

4、測試沒有人直播時無法加入直播間,已經已經有人直播之后加入直播間

6、小結

今天對界面的跳轉,界面的自動釋放,以及QWidgetList的使用有了一定的了解,并且使用了一下

日日行,不怕千萬里;常常做,不怕千萬事。 !!!!!!

總結

以上是生活随笔為你收集整理的Qt视频直播软件--项目实战(Day6)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

免费看成年人 | 夜夜操狠狠干 | 色网站在线免费 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 日韩av电影国产 | 国产精品二区三区 | 日韩视频一 | 九九九毛片 | 日韩视频在线播放 | 久久看片网 | 国产精品高清免费在线观看 | www.久久色 | 91视频免费网站 | 精品一区电影国产 | 欧美在线日韩在线 | 五月婷婷中文字幕 | 玖玖综合网 | 98超碰在线 | 亚洲黄色免费网站 | 国产亚洲视频在线观看 | 婷婷激情网站 | 久久另类小说 | 黄色免费网战 | 狠狠躁夜夜a产精品视频 | 成人a级黄色片 | 少妇bbbb搡bbbb桶 | 丁香六月中文字幕 | 日本精品在线视频 | 91精品成人久久 | 国产原厂视频在线观看 | www狠狠操| 国产成人黄色av | 国产精品九九九九九 | 五月天色中色 | 天天躁天天躁天天躁婷 | а天堂中文最新一区二区三区 | 成人免费一区二区三区在线观看 | 欧美少妇18p | 96视频免费在线观看 | 国产剧情av在线播放 | 激情综合啪 | 久久黄色网址 | 日韩亚洲精品电影 | 综合久久五月天 | 91在线麻豆 | 婷香五月 | 精品中文字幕在线 | 亚洲国产mv | 黄色午夜| 9色在线视频 | 射射射av| 国产亚洲精品久久久久久 | 插婷婷| 在线精品亚洲一区二区 | 最新日韩精品 | 日韩一二三区不卡 | 成年人免费在线 | 国产一级高清视频 | 欧美日韩国产区 | 国产福利91精品 | 国产黄色一级大片 | 婷婷丁香花| 毛片美女网站 | 五月天综合网站 | 午夜一级免费电影 | 91中文字幕网 | 波多野结衣最新 | 波多野结衣动态图 | www.久久免费视频 | 国产一区二区三区四区大秀 | 在线观看黄色av | 中文超碰字幕 | 中文字幕在线精品 | 国产精品99久久久久久宅男 | 国产高清视频免费最新在线 | 91精选在线观看 | 婷婷亚洲综合五月天小说 | 97av在线视频免费播放 | 黄色网址av | 免费在线观看av网站 | 欧美日韩高清一区 | 中文在线 | 伊人色综合网 | 狠狠的干狠狠的操 | 久久激情影院 | 久久成人人人人精品欧 | 久久艹国产视频 | 久草视频99 | 在线观看视频一区二区三区 | 国产涩涩在线观看 | 一区二区三区韩国免费中文网站 | 久久精品视频日本 | 伊人五月天综合 | 欧美日韩精品免费观看 | 九九精品久久久 | 久久久久草 | 色视频在线看 | 在线观看视频福利 | 国产精品av免费在线观看 | 久久久国产精品亚洲一区 | 亚洲开心激情 | 精品美女久久久久 | 久久久久亚洲精品国产 | 国产玖玖视频 | 天天综合网天天综合色 | 国产一卡久久电影永久 | 九九视频一区 | 免费在线观看av网址 | 日韩视频图片 | 精品国产理论片 | 波多野结衣在线观看视频 | 香蕉视频91 | 在线观看免费黄色 | 欧美乱熟臀69xxxxxx | av一区二区在线观看中文字幕 | 97色在线观看免费视频 | 欧美 日韩 国产 中文字幕 | 久久精品久久久精品美女 | 日本xxxx裸体xxxx17 | 久久99视频免费 | 麻豆精品传媒视频 | 亚洲国产精品女人久久久 | 久久久久久国产精品久久 | 成人污视频在线观看 | 国产精品99页 | 国产美女免费观看 | 91最新网址在线观看 | 久久久综合九色合综国产精品 | 国产999精品久久久影片官网 | 亚洲a成人v | 国产亚洲精品综合一区91 | 99久久99| 色狠狠干| 超碰在线最新 | 精品久久网 | 在线观看国产www | 99久久99久久综合 | 国内精品久久久久久久久 | 99国产成+人+综合+亚洲 欧美 | 精品一区欧美 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 国产精品久久99综合免费观看尤物 | 九九在线视频免费观看 | 手机在线永久免费观看av片 | 久久免费久久 | 色国产视频 | 91成人网页版 | 成人全视频免费观看在线看 | 美女视频黄免费的 | av在线短片 | 亚洲电影久久久 | 91精品国产欧美一区二区成人 | 亚洲不卡123| 亚洲免费精品一区二区 | 51久久成人国产精品麻豆 | 欧美va天堂va视频va在线 | 欧美激情操 | 国产专区在线视频 | 久久情网 | 亚洲经典在线 | 天天天天综合 | 丁香婷婷久久 | 日韩字幕在线 | 免费观看丰满少妇做爰 | 九九综合九九综合 | 久久少妇免费视频 | 久久久人人爽 | 国产成人精品久久久久蜜臀 | 草久在线视频 | 在线观av| 日韩免费在线看 | 在线视频免费观看 | 国产精久久 | 韩日av在线 | 国内精品久久久久国产 | 在线www色 | 国产美女精品视频免费观看 | 三级黄色在线观看 | www.成人久久 | 日韩久久午夜一级啪啪 | 久久精品国产美女 | 久久久久久久久久久福利 | 日韩精品在线视频免费观看 | 久久免费看av | 一二区精品 | 91在线操| 91av短视频 | 黄色视屏av | 天天摸天天弄 | 伊人天堂网 | 国内精品福利视频 | 久草在线资源免费 | 亚洲午夜精品电影 | 国产在线理论片 | 亚洲人人网 | 午夜性生活 | 国产精品电影一区 | 国产一区在线视频 | 国产特级毛片aaaaaa | 99精品在线播放 | 玖玖国产精品视频 | 国内综合精品午夜久久资源 | 亚洲精品视频在线播放 | 欧美日韩在线视频一区二区 | 一级免费看 | 超碰97久久| 欧美日韩国产一区二区三区在线观看 | 欧美在线视频一区二区三区 | 亚洲欧洲精品在线 | 日韩中文字幕在线看 | 日韩中文字幕免费在线观看 | 一区免费视频 | 91免费观看| 蜜臀av性久久久久av蜜臀三区 | 亚洲成色777777在线观看影院 | 在线观看aaa | 日韩一区二区三区免费电影 | 99热亚洲精品 | 日韩三级视频在线观看 | 激情丁香婷婷 | 国产伦精品一区二区三区无广告 | 97福利在线 | 99久久久国产精品美女 | 日韩精品欧美精品 | 四虎成人精品 | 日韩在线观看av | 亚洲一区二区91 | 99热99| 伊人久久一区 | 2019国产精品 | 有码中文字幕在线观看 | 亚洲国产久 | 国产精品久久久网站 | 亚洲久草网 | 在线黄色免费 | 亚洲综合一区二区精品导航 | 高清视频一区二区三区 | 免费看片网址 | 97视频免费播放 | 久草视频观看 | 日韩激情在线视频 | 婷婷综合av | 亚洲精品视频免费 | 中文字幕人成不卡一区 | 国产精品福利久久久 | 91桃花视频| 精品播放 | 激情综合色图 | 操操操夜夜操 | 中文字幕av影院 | 999久久a精品合区久久久 | 精品xxx| 亚洲精品欧美视频 | 日本视频高清 | 成人国产精品入口 | 91精品无人成人www | 国产精品久久99综合免费观看尤物 | 国产成人三级一区二区在线观看一 | www.国产精品| 久久99电影 | 黄色激情网址 | 午夜精品久久久久久 | 91精品成人 | 精品久久久久久久久久久久久久久久久久 | 精品久久久久亚洲 | 中文字幕亚洲在线观看 | 久久久久久久福利 | 久久国产精品99精国产 | 国内综合精品午夜久久资源 | 免费三级黄 | 91黄色小视频 | 四虎5151久久欧美毛片 | a级片韩国 | 人人插人人艹 | 在线视频 国产 日韩 | 日韩高清黄色 | 国产一级一级国产 | 色综合久久久久综合体 | 一级精品视频在线观看宜春院 | 色婷婷啪啪免费在线电影观看 | 久草视频中文在线 | 久久三级毛片 | 日本成人黄色片 | 免费男女网站 | 亚洲高清不卡av | 久草观看 | 在线观看视频中文字幕 | 国产91精品在线观看 | 波多野结衣视频一区二区 | 天天做天天干 | 国产剧情一区二区在线观看 | 久久午夜影院 | 久久精品免费 | 又黄又爽又刺激视频 | 国内丰满少妇猛烈精品播 | 97色se | 91成人免费电影 | 99热精品国产一区二区在线观看 | 日韩精品免费一区二区三区 | 日本中文字幕一二区观 | 国产四虎影院 | 久久免费国产电影 | 中文字幕在线播放一区 | 91在线观看视频 | 2019中文字幕网站 | 九九电影在线 | 国产精品系列在线播放 | 国产精品自在欧美一区 | 在线观看一级视频 | 国产私拍在线 | 日日夜夜免费精品视频 | www.国产视频 | 久久久久女人精品毛片 | 久久国产精品视频 | 亚洲精品午夜视频 | 天天爽天天摸 | 人人澡人人添人人爽一区二区 | www国产亚洲精品久久网站 | 人人澡人人草 | 亚洲精品在 | 亚洲精品国产精品国自产观看浪潮 | 视频在线观看91 | 欧美日韩网址 | 国产三级香港三韩国三级 | 国产精品久久99精品毛片三a | 国产不卡在线观看 | 美女精品久久久 | 精品亚洲视频在线观看 | 亚洲黄色在线观看 | 天天亚洲综合 | av中文在线| 久久久久高清 | 日本性生活免费看 | 久久成 | 日本黄色大片儿 | 美女视频久久黄 | 草久电影 | 婷婷综合久久 | 欧美久久久久久久久久久 | 激情偷乱人伦小说视频在线观看 | 久久免费视频播放 | 国产精品一区二区久久久 | 国产欧美精品一区二区三区 | 天天干天天天天 | 久久天天躁狠狠躁亚洲综合公司 | 天天鲁一鲁摸一摸爽一爽 | 日本中文在线观看 | 欧美在线不卡一区 | 精品v亚洲v欧美v高清v | 免费观看久久久 | 久久精品免费播放 | 国产精品入口麻豆 | 国产精品免费在线观看视频 | 丰满少妇在线观看资源站 | 久久成年人视频 | 国产99久久久国产精品免费二区 | 久久中文字幕在线视频 | 日韩大片在线免费观看 | 国产精品毛片网 | 久草在在线 | 一级一片免费看 | 超碰97国产精品人人cao | 欧美一区二区三区免费观看 | 波多野结衣在线观看视频 | 一区二区三区免费在线播放 | 在线精品一区二区 | 欧美黄色高清 | 久久深夜| 99热在线免费观看 | 91成人在线观看高潮 | 欧美日韩精品免费观看 | 制服丝袜一区二区 | 国产中文视 | 日韩免费在线观看视频 | 亚洲精品美女久久久久网站 | 一区二区三区四区在线 | 国产精品视频区 | 国产97在线视频 | 婷婷久月 | 国产精品高清免费在线观看 | 91亚洲精品乱码久久久久久蜜桃 | 亚洲国产中文字幕在线 | 中文字幕在线观看91 | www.综合网.com | 欧美成人免费在线 | 成年人在线免费看 | 日韩欧美国产成人 | 色综合小说 | 婷婷色在线资源 | 国产视频在线观看免费 | 成人蜜桃网 | 日韩一区二区三区免费视频 | 国产精品美女www爽爽爽视频 | 欧美成人视 | 精品久久一区二区三区 | 精品国产理论 | 久久成人午夜视频 | 97在线精品 | 在线精品视频在线观看高清 | 狠狠撸电影 | 国产免费作爱视频 | 中文字幕av网站 | 不卡的av在线播放 | 啪嗒啪嗒免费观看完整版 | 久久久噜噜噜久久久 | 国产精品久久久精品 | 超碰免费观看 | 久久69av | 91香蕉视频黄 | 日韩一级片大全 | 免费看黄20分钟 | 欧美精品久久久久久久亚洲调教 | 中文字幕在线电影 | 伊人手机在线 | 91亚洲国产| 天天操天天综合网 | 日韩在线一二三区 | 成人亚洲欧美 | 日韩网页 | 国产中文字幕网 | 欧美少妇xxx | 8x成人免费视频 | 国产成人精品免费在线观看 | 欧美性成人 | 欧美做受xxx| 国产精品成人一区二区三区吃奶 | 亚洲精品国产精品国自产观看 | 日韩字幕在线观看 | av在线日韩| 欧美乱码精品一区二区 | 久9在线 | 99久久精品国产一区二区三区 | 久久综合免费视频影院 | 天天婷婷 | 最新中文字幕视频 | 国产精品久久久久久久久久久免费 | av电影在线免费观看 | 国产精品久久久久久久久久新婚 | 婷婷六月天丁香 | 成人久久精品 | 99久免费精品视频在线观看 | 精品亚洲视频在线观看 | 中文字幕 国产视频 | 日韩欧美在线观看一区二区三区 | 麻豆传媒视频在线播放 | 奇米网在线观看 | 日韩综合精品 | 激情av综合 | 91看片淫黄大片在线播放 | 国产精品第一 | 欧美大片aaa| 成人久久精品视频 | 国产玖玖在线 | 日韩av资源在线观看 | 99精品观看 | 国产中文字幕在线观看 | 亚洲视频免费在线观看 | av在线一级 | 免费看的黄色的网站 | 成人福利av| 日韩一级电影在线 | 成人av片在线观看 | 亚洲成人999 | 久久99精品久久久久久三级 | 亚洲精品小区久久久久久 | 日韩av男人的天堂 | 久久精品视频网 | 伊人春色电影网 | 日韩视频免费 | 亚洲精品无 | 91成人网在线 | 国产精品久久久久久69 | 久久精品99国产精品 | 精品自拍av| 色综久久 | 久久精品4 | 日韩狠狠操 | 在线观看免费国产小视频 | 亚洲成年片 | 欧美日韩高清一区二区 国产亚洲免费看 | 久久久久国产一区二区三区 | 欧美性色黄大片在线观看 | 在线免费观看成人 | 97精品超碰一区二区三区 | 五月天天色 | 91网在线| 国产日产高清dvd碟片 | 久久久91精品国产一区二区精品 | 五月激情久久久 | 国产区精品区 | 久久久精品在线观看 | 国产亚洲精品久久久久动 | 碰超在线观看 | 人人爽人人爽人人片av免 | 色干综合 | 日本午夜在线亚洲.国产 | 日韩欧美在线观看一区二区 | 久久人人97超碰国产公开结果 | 亚洲粉嫩av | 狠狠色丁香婷婷 | 五月婷婷久久丁香 | www狠狠 | 激情丁香综合五月 | 久久久久久久久久电影 | 亚洲视频www | 国产精品第二十页 | 日韩精品在线看 | 欧美日高清视频 | 亚洲成人二区 | 亚洲精品理论片 | 9999在线视频 | 人人澡澡人人 | 国产一级片一区二区三区 | 黄色av网站在线观看免费 | 狠狠色网| 成人国产电影在线观看 | 精品少妇一区二区三区在线 | 精品国产一区二区三区免费 | 手机av网站 | 午夜精品成人一区二区三区 | 日韩在线视频看看 | 欧美日韩调教 | 国产精品99久久久久 | 一级性视频| 久久激情婷婷 | 久久影视精品 | www日韩精品| 免费看亚洲毛片 | 久久精品国产成人 | 91三级视频| 在线国产视频 | 深爱激情五月婷婷 | 东方av免费在线观看 | 免费国产在线视频 | 亚洲电影图片小说 | 久久久久成人精品亚洲国产 | 色偷偷人人澡久久超碰69 | av免费电影在线 | 中文字幕色网站 | 国产精品久久久久久久久毛片 | 亚洲一级在线观看 | 国产在线精品视频 | 丁香久久久 | 国产少妇在线观看 | 日韩在线观看不卡 | 成人va视频 | 色欧美成人精品a∨在线观看 | 91在线资源 | 国产精品一区二区三区免费视频 | 久久精品影片 | 三级黄色欧美 | 天天操天天草 | 久久中文精品视频 | 91视频大全| 人人爽人人乐 | 日批网站免费观看 | 欧美日韩国产精品一区 | 国产日韩精品在线观看 | 美国三级黄色大片 | 91综合视频在线观看 | 国产亚洲综合精品 | 久久99精品波多结衣一区 | 美女精品网站 | 69亚洲精品| 精品99免费| 亚洲黄色一级视频 | 久久黄色免费视频 | 久久久精品久久日韩一区综合 | 一区二区精品国产 | 97超碰总站| 在线观看视频精品 | 日本少妇视频 | 久久精品欧美一 | 国产成人av电影在线观看 | 久久午夜国产精品 | 色欧美综合| 国产精品精品久久久 | 国产亚洲久一区二区 | 亚洲精品午夜一区人人爽 | 1024在线看片| 日韩免费高清在线 | 在线观看中文字幕第一页 | 免费久久久| www.香蕉| 久久久久亚洲精品成人网小说 | 午夜久久电影网 | av中文天堂在线 | 欧美综合在线观看 | 中文字幕一区三区 | 草久在线观看视频 | 久久久麻豆精品一区二区 | 久久久九色精品国产一区二区三区 | 97视频精品 | 亚洲四虎 | 涩涩网站免费 | 免费人成在线观看网站 | 麻豆91在线看 | 日韩在线欧美在线 | 天天爱天天射天天干天天 | 久久精品成人 | 午夜12点 | 欧美福利精品 | 黄色日视频| 亚洲精品国产日韩 | 免费看污的网站 | 一区二区三区高清不卡 | 久久经典视频 | av电影亚洲| 成人av电影免费观看 | 日韩在线三级 | 国产亚洲视频中文字幕视频 | 久久午夜电影网 | 久久综合久久综合九色 | 开心激情综合网 | 天天干,天天射,天天操,天天摸 | 天天色天天操综合 | 色av婷婷 | 久久综合久久综合这里只有精品 | 一区二区三区高清不卡 | 国产视频手机在线 | 中文字幕 国产 一区 | 欧美成人a在线 | 色妞久久福利网 | 国产清纯在线 | 亚洲激情综合网 | 69精品久久久 | 国产成人三级三级三级97 | 婷婷综合激情 | 国产成人av免费在线观看 | 欧美日韩在线视频一区 | 亚洲电影久久久 | 欧美成天堂网地址 | japanesexxxhd奶水 91在线精品一区二区 | 国产精品成久久久久 | 国产99久久久国产精品免费二区 | 91正在播放| 国产一级大片免费看 | 激情丁香婷婷 | 亚洲精品国产精品乱码在线观看 | 成人久久久久 | www.夜夜操 | 久久论理 | 久草精品视频在线播放 | 欧美性网站 | 日韩电影在线观看一区 | 久草在线久草在线2 | 日韩在线资源 | 五月婷婷网站 | 午夜丰满寂寞少妇精品 | 91三级在线观看 | 91视频啪| 久久99精品国产麻豆宅宅 | 最新中文字幕在线资源 | 婷婷综合导航 | 天天干天天操天天 | 有码中文在线 | 在线观看精品一区 | 激情综合五月 | 99免费在线播放99久久免费 | 国产精品中文字幕在线播放 | av一级久久 | 国产一区二区综合 | 国产一级视频在线免费观看 | 精品国产片 | 免费国产黄线在线观看视频 | 亚洲国产小视频在线观看 | 色综合久久88色综合天天 | a级国产乱理论片在线观看 伊人宗合网 | 久久www免费视频 | 国产在线超碰 | 亚洲国产精品小视频 | 久久精品这里都是精品 | 国产精品18久久久久久vr | 天天艹天天干天天 | 日日弄天天弄美女bbbb | 超碰97中文| 久久久精品视频成人 | 欧美一二三视频 | 久久全国免费视频 | 午夜婷婷在线观看 | 欧美日韩高清在线一区 | 久久精品国产成人精品 | 91精品视频在线 | 在线观看91 | 最近日本字幕mv免费观看在线 | 精品久操 | 黄色软件在线观看 | 色婷婷国产精品一区在线观看 | 久久精选 | av三级av| 97理论片| 国产在线一区二区三区播放 | 国产精品久久久久久久午夜片 | 日本三级久久久 | 国产精品久久久久久久久久久久 | 综合色亚洲| 黄色网址国产 | 精品国产理论片 | 嫩草伊人久久精品少妇av | 国产精品99久久久久久久久久久久 | 亚洲精品免费视频 | 成人国产精品 | 黄色一级大片免费看 | 一区二区精品在线观看 | 99久久999久久久精玫瑰 | 国产精品自产拍 | 国产成人亚洲精品自产在线 | a视频在线看 | 青青河边草免费观看完整版高清 | 91视频免费国产 | 国产精品久久久亚洲 | 国产九九精品视频 | 天天爽夜夜爽精品视频婷婷 | 夜添久久精品亚洲国产精品 | 成人三级视频 | 天堂av色婷婷一区二区三区 | 东方av在线免费观看 | 国产黄色片在线免费观看 | 91香蕉视频 mp4| 五月婷婷久 | 六月丁香在线观看 | 成人一区在线观看 | 久久99精品国产麻豆宅宅 | 麻豆极品| 国产午夜精品av一区二区 | 久久久久亚洲精品成人网小说 | 中国一级特黄毛片大片久久 | 精品99免费视频 | 91免费高清在线观看 | 天堂av在线免费观看 | 在线天堂日本 | 欧美一二三区播放 | 四虎永久免费网站 | 国产成人精品av久久 | 欧美精品久久久久久久久久丰满 | 日韩高清一区二区 | 免费看污在线观看 | 美女网站黄在线观看 | 青青河边草免费直播 | 亚洲精品免费在线观看视频 | 天天色天天操综合 | 亚洲精品乱码白浆高清久久久久久 | 婷婷六月中文字幕 | 91精品国产成人观看 | 久久综合五月天 | 久久综合中文字幕 | 国产精品久久久久久久久岛 | 日韩午夜视频在线观看 | 国产在线a视频 | 在线观看的av | 999久久久免费精品国产 | 日日日操操 | bbw av | 欧美analxxxx | 久久只精品99品免费久23小说 | 国产一级一片免费播放放 | 久久精品美女 | 99久久久久久国产精品 | 国产精品毛片久久蜜 | 福利视频一区二区 | 国产成人av网 | 免费观看国产视频 | 天天做天天干 | 国产资源免费 | 日韩一级电影在线 | 99免费在线观看 | 日韩在线免费视频观看 | 午夜 久久 tv| 国产成人在线免费观看 | 久久精品这里都是精品 | 在线观看av网 | 深爱激情综合网 | 久久大视频 | 射射射av| 成人午夜免费福利 | 51久久成人国产精品麻豆 | 成人在线播放视频 | 少妇bbbb揉bbbb日本 | 亚洲精欧美一区二区精品 | 日本中文字幕在线免费观看 | 久久国产99| 国产视频精品免费播放 | 国产免费又爽又刺激在线观看 | 99久精品视频 | 91精品国产亚洲 | 国产一区久久 | 久久成| 国产在线黄色 | 免费看一级黄色大全 | 国产精品免费人成网站 | 午夜精品视频免费在线观看 | 欧美精品久久99 | 欧美另类高潮 | 日韩免费久久 | 国产一区二区三精品久久久无广告 | 免费美女久久99 | 免费在线观看毛片网站 | 久久av福利| 欧美精品小视频 | 激情在线免费视频 | 天天干天天操人体 | 国产精品乱码久久久 | 久久精品国产一区二区 | 天天射天天干天天操 | 91精品久| 欧美一级小视频 | 五月婷婷狠狠 | 国产精品免费观看国产网曝瓜 | 亚洲欧美一区二区三区孕妇写真 | 国产一区在线视频播放 | 欧美成人黄色 | 成人久久精品 | 亚洲国产一区在线观看 | 2021久久 | 精品自拍sae8—视频 | 亚洲女同videos | 狠狠操狠狠干天天操 | 国产精品久久久久久久久久三级 | 美女视频是黄的免费观看 | 久久婷婷国产 | 亚洲一级电影在线观看 | 超碰九九 | 香蕉在线观看 | 国产清纯在线 | 一区国产精品 | 黄色大片视频网站 | 亚洲精品永久免费视频 | 中文字幕精品一区二区三区电影 | 97理论电影| 国产群p | 日本在线观看中文字幕 | 日韩色在线观看 | 五月天,com| 在线v片免费观看视频 | 国产色视频一区二区三区qq号 | 九九热在线精品 | 国产麻豆电影在线观看 | 久久精品这里精品 | 五月婷婷播播 | 97色涩| 西西444www大胆高清图片 | 亚洲国产成人久久综合 | 99av国产精品欲麻豆 | 日韩网站在线免费观看 | 黄色av网站在线观看免费 | 在线成人免费电影 | 久久综合一本 | 综合网天天 | 中文字幕在线观看视频一区二区三区 | 国产精品成人一区 | freejavvideo日本免费 | 女人18片 | 亚洲六月丁香色婷婷综合久久 | av片一区| 色婷婷国产 | 国产裸体bbb视频 | 国内精品中文字幕 | 久久精品成人欧美大片古装 | 三级黄在线 | 最新中文字幕 | sm免费xx网站 | 91精品国产成人观看 | 国内久久久| 欧美精品中文 | 日韩欧美精品在线视频 | 久久经典国产 | 日韩有色| 香蕉视频在线播放 | 国产精品美女在线观看 | 国产精品久久久久久久久久不蜜月 | 在线免费日韩 | 亚洲免费在线观看视频 | 超碰在线中文字幕 | 99久久精品免费看 | 日韩在线高清 | 国产99久久久国产精品免费看 | 亚洲国产精品推荐 | 日韩免费看片 | 狠狠干狠狠艹 | 精品一区二区三区香蕉蜜桃 | 九月婷婷人人澡人人添人人爽 | a天堂最新版中文在线地址 久久99久久精品国产 | 日狠狠 | 韩国av一区二区 | 久久 一区 | 一级电影免费在线观看 | 久久一视频 | 亚洲一级久久 | 中文字幕av在线播放 | 91亚洲精 | 精品国产免费人成在线观看 | 中文字幕观看视频 | 青青网视频 | 欧美高清视频不卡网 | 久久久www成人免费精品 | 青青久草在线视频 | 久久国产网站 | 最新日本中文字幕 | 精品久久久久国产免费第一页 | 国产视频日韩视频欧美视频 | 五月婷婷激情六月 | 国产精品一区欧美 | 亚洲日日夜夜 | 色综合久久久久综合体桃花网 | 欧美精品在线观看免费 | 亚洲成人精品影院 | 国产最顶级的黄色片在线免费观看 | 天天插伊人 | 99精品视频精品精品视频 | 色亚洲激情 | 欧美一区二区三区在线看 | 亚洲精品视频www | 99久久精品久久久久久动态片 | 99精品国产兔费观看久久99 | 国产三级精品三级在线观看 | 久久av一区二区三区亚洲 | 欧美日韩在线视频免费 | 激情五月看片 | 亚洲国产欧美在线看片xxoo | 欧美日韩一二三四区 | 成人欧美亚洲 | 久久免费国产精品1 | 成 人 黄 色 视频免费播放 | 狠狠色丁香久久婷婷综合_中 | 91精品国产乱码久久 | 色a在线观看 | 国产视频2 | 久久精品国产精品 | 国产视频一区在线 | 亚洲国产成人在线观看 | 免费 在线 中文 日本 | www日韩在线观看 | 国产精品久久久久久吹潮天美传媒 | 伊人影院得得 | 色先锋资源网 | 91精品久久久久久综合乱菊 | 又黄又刺激视频 | 91精品国产成人 | 91av官网| a级片久久| 一区二区三区在线观看 | 免费日韩一区二区三区 | 欧美va日韩va | 国产成人精品一区二区三区 | 国产一在线精品一区在线观看 | 欧美久久久一区二区三区 | 天天艹天天 | 欧美一级视频免费看 | 91精品福利在线 | 国产精品乱码一区二区视频 | 国产美女被啪进深处喷白浆视频 | 久久久 激情 | 人人爱天天操 | av免费看在线 | 天天综合天天综合 | 国产系列 在线观看 | 久久无码av一区二区三区电影网 | 久久观看| 免费观看性生交 | 久99久精品 | 国产色拍拍拍拍在线精品 | 成人午夜网址 | 911免费视频| 丁香久久久 | 日韩一级成人av | 亚洲国产资源 | 婷婷日日| 97碰碰精品嫩模在线播放 | 日韩一级网站 | 国产精品久久久久aaaa | 久久情网 | 日本99久久| 亚洲精品视频网 | 久久久久国产成人精品亚洲午夜 | 成人h在线观看 | 国产精品欧美 | 综合网在线视频 | 国产一区av在线 | 中文国产成人精品久久一 | 99九九99九九九视频精品 | 国产精品一区二区三区免费视频 | 久久只精品99品免费久23小说 | 免费在线观看成人av | 午夜aaaa| 超碰av在线播放 | 中文字幕电影高清在线观看 | 亚洲有 在线 | 91精品网站在线观看 | 国产第一页精品 | 一区二区三区精品在线视频 | 日日夜夜精品网站 | 99精品视频在线播放免费 | 国产欧美综合视频 | 免费精品国产va自在自线 | 在线观看av黄色 | www国产亚洲精品久久网站 | 五月婷婷黄色 | 中文字幕第一页在线 |