精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用 Python 從頭搭建一個在線聊天室

開發 前端
我們只需要一個 user 用戶表,只包含三個字段的簡單表。用戶密碼也只是簡單的保存了明文,后面再處理用戶密碼的 hash 問題。

今天從頭開始做一個在線聊天網站,網上各種各樣的聊天工具已經很多了,為啥還要做這么一個聊天工具呢,無他,興趣耳!

今天先完成第一部分,搭建起聊天網站的整體框架。

整體技術棧

  • flask 框架
  • flask_login 的使用
  • jquery 簡單應用

搭建權限框架

還是使用 Flask 來搭建后臺應用,使用 flask-login 擴展來處理用戶登陸鑒權邏輯。首先定義登陸表單。

class LoginForm(FlaskForm):
username = StringField('Username', validators=[DataRequired(), ])
password = PasswordField('Password', validators=[DataRequired()])
remember_me = BooleanField('Keep me logged in')
submit = SubmitField('Log in')

一個簡單的登陸表單,不做過多解釋。

接下來定義數據庫結構。

class User(UserMixin, db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True, index=True)
password = db.Column(db.String(64))

當前,我們只需要一個 user 用戶表,只包含三個字段的簡單表。用戶密碼也只是簡單的保存了明文,后面再處理用戶密碼的 hash 問題。

下面就可以定義用戶登陸表單

from flask_login import LoginManager


login_manager = LoginManager()
login_manager.session_protection = 'strong'
login_manager.login_view = 'login'
app = Flask(__name__)
login_manager.init_app(app)
app.config['SECRET_KEY'] = 'hardtohard'


@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id))


@app.route('/login', methods=['GET', 'POST'])
def login():
form = LoginForm()
if form.validate_on_submit():
user = User.query.filter_by(username=form.username.data).first()
if user:
login_user(user)
return redirect(url_for('chat'))
return render_template('login.html', form=form)

這里定義了,只檢查用戶名是否存在,如果存在,就執行 login_user() 函數,登陸。用戶密碼的使用,也留到后面再做處理。

其中 load_user,是回調函數,將獲取到的 user 對象存儲到瀏覽器的 session 中,然后在調用 login_user 函數時,就會調用 load_user 來把真正需要登陸的用戶設置到 session 中。當登陸成功后,就會跳轉到 chat 函數所對應的頁面。

chat 函數比較簡單,只是展示一個網頁

@app.route('/chat', methods=['GET', 'POST'])
@login_required
def chat():
return render_template('chat.html')

使用 login_required 裝飾器,保證該函數只允許登陸的用戶訪問。

增加些初始化函數

@app.route('/adddb', methods=['GET', 'POST'])
def addbd():
db.create_all()
return "OK"


@app.route('/deldb', methods=['GET', 'POST'])
def delbd():
db.drop_all()
return "OK"


@app.route('/adduser/<user>', methods=['GET', 'POST'])
def adduser(user):
user = User(username=user, password='admin')
db.session.add(user)
db.session.commit()
return "OK"

增加了初始化數據庫和新增用戶的函數。

構建前端頁面

首先處理登陸頁面,在 login.html 中添加

{% extends "bootstrap/base.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block title %}Flasky{% endblock %}

{% block navbar %}
<div class="navbar navbar-inverse" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Flasky</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="/">Home</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
{% if current_user.is_authenticated %}
<li><a href="{{ url_for('logout') }}">Logout</a></li>
{% else %}
<li><a href="{{ url_for('login') }}">Login</a></li>
{% endif %}
</ul>
</div>
</div>
</div> {% endblock %}

{% block content %}
<div class="container">
<div class="page-header">
<h1>Hello, Welcome!</h1>
</div>
{{ wtf.quick_form(form) }}
</div>
{% endblock %}

使用擴展庫 flask_bootstrap 來快速構建頁面。

下面重點來看看 chat 頁面,主要使用了 Ajax 來處理文字交互。首先來看看主體頁面,在 chat.html 中填入代碼

{% extends 'bootstrap/base.html' %}
{% import "bootstrap/wtf.html" as wtf %}
{% block title %}Kung Fu Realm{%endblock %}
{% block head %}
<head>
<meta charset="utf-8">
<title>Hi Hi 聊天室</title>
<link rel="shortcut icon" href="{{ url_for('static',filename='chat/images/hihi.jpg')}}">
<link rel="icon" href="{{ url_for('static',filename='chat/images/hihi.jpg')}}" type="image/x-icon">
<link type="text/css" rel="stylesheet" href="/static/chat/css/style.css">
<script type="text/javascript" src="{{ url_for('static', filename='chat/js/jquery.min.js') }}"></script>
</head>
{% endblock %}
{% block content %}
<body>
<div class="chatbox">
<div class="chat_top fn-clear">
<div class="uinfo fn-clear" style="float: left;"><div class="uface"><h1 style="color: #7777">ROOM: 聊天室123哈哈哈</h1></div></div>
<div class="uinfo fn-clear">
{% if current_user.is_authenticated %}
<div class="uface"><img src="{{ url_for('static', filename='chat/images/hi.jpg') }}" width="40" height="40" alt=""/></div>
{% else %}
<div class="uface"><img src="{{ url_for('static', filename='chat/images/hi.jpg')}}" width="40" height="40" alt=""/></div>
{% endif %}
<div class="uname">
小HI<i class="fontico down"></i>
<ul class="managerbox">
{% if current_user.is_authenticated %}
<li><a href="{{ url_for('login') }}"><i class="fontico lock"></i>退出登陸</a></li>
{% else %}
<li><a href="{{ url_for('logout') }}"><i class="fontico logout"></i>登錄</a></li>
{% endif %}
</ul>
</div>
</div>
</div>
<div class="chat_message fn-clear">
<div class="chat_left">
<div class="message_box" id="message_box">
<div class="msg_item fn-clear">
<div class="uface"><img src="{{ url_for('static', filename='chat/images/duck.jpg')}}" width="40" height="40" alt=""/></div>
<div class="item_right">
<div class="msg own"><img src="{{ url_for('static', filename='chat/images/hihi.jpg')}}" width="400" height="400" alt=""/></div>
<div class="name_time">小黃鴨 </div>
</div>
</div>
{% if current_user.is_authenticated %}
<div class="msg_item fn-clear">
<div class="uface"><img src="{{ url_for('static', filename='chat/images/duck.jpg')}}" width="40" height="40" alt=""/></div>
<div class="item_right">
<div class="msg">Welcome to Hihi Chat Room. 歡迎來到 Hihi 聊天室。 </div>
<div class="name_time">小黃鴨 </div>
</div>
</div>
{% else %}
<div class="msg_item fn-clear">
<div class="uface"><img src="{{ url_for('static', filename='chat/images/duck.jpg')}}" width="40" height="40" alt=""/></div>
<div class="item_right">
<div class="msg">您還沒有登陸,先和小黃鴨聊聊吧。 </div>
<div class="name_time">小黃鴨 </div>
</div>
</div>
{% endif %}
</div>
<div class="write_box">
{% if current_user.is_authenticated %}
<textarea id="message" name="message" class="write_area" placeholder="說點啥吧..."></textarea>
{% else %}
<textarea id="message_not" name="message" class="write_area" placeholder="說點啥吧..."></textarea>
{% endif %}
<input type="hidden" name="fromname" id="fromname" value="你" />
<input type="hidden" name="to_uid" id="to_uid" value="0">
<div class="facebox fn-clear">
<div class="expression"></div>
<div class="chat_type" id="chat_type">群聊</div>
{% if current_user.is_authenticated %}
<button name="login" class="sub_but" id="sub_but_login">提 交</button>
{% else %}
<button name="logout" class="sub_but" id="sub_but">提 交</button>
{% endif %}
</div>
</div>
</div>
</div>
</div>

整體效果如下,是不是挺少女系的。

圖片

當用戶在點擊“提交”按鈕后,調用 JS 函數

    /*用戶登陸的用戶點擊提交按鈕發送消息按鈕*/
$('#sub_but_login').click(function(event){
sendMessageLogin(event, fromname, to_uid, to_uname);
});

為了后面便于擴展,將未登錄的用戶特別區分開來,后面也許同樣允許未登陸用戶訪問該頁面,但是只能同機器人小黃鴨聊天

    /*用戶未登陸的用戶點擊提交按鈕發送消息按鈕*/
$('#sub_but').click(function(event){
sendMessage(event, fromname, to_uid, to_uname);
});

再來看函數 sendMessageLogin

function sendMessageLogin(event, from_name, to_uid, to_uname){
var msg = $("#message").val();
var myDate = new Date();
var myTime = myDate.toLocaleTimeString();
var itTime = myDate.toLocaleString();
//var iTime = myDate.toDateString();
var htmlData = '<div class="msg_item fn-clear">'
+ ' <div class="uface">{% if current_user.is_authenticated %}<img src="{{ url_for('static', filename='chat/images/hi.jpg') }}" width="40" height="40" alt=""/>{% endif %}</div>'
+ ' <div class="item_right">'
+ ' <div class="msg own">' + msg + '</div>'
+ ' <div class="name_time">' + from_name + ' · ' + itTime +'</div>'
+ ' </div>'
+ '</div>';
$("#message_box").append(htmlData);
$('#message_box').scrollTop($("#message_box")[0].scrollHeight + 20);
$("#message").val('');
setTimeout(function(){sendToServer(from_name, msg)}, 1000); //延時調用
}

接收幾個參數,然后將當前會話消息追加到 HTML 頁面中,并且調用真正的后臺 API 函數 sendToServer

function sendToServer(name, msg){
var xmlhttp = new XMLHttpRequest();
var myDate = new Date();
//var myTime = myDate.toLocaleTimeString();
var myTime = myDate.toLocaleString();
xmlhttp.notallow=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
myObj = xmlhttp.responseText;
var htmlData2 = '<div class="msg_item fn-clear">'
+ ' <div class="uface"><img src="{{ url_for('static', filename='chat/images/duck.jpg')}}" width="40" height="40" alt=""/></div>'
+ ' <div class="item_right">'
+ ' <div class="msg">' + myObj + '</div>'
+ ' <div class="name_time">' + '小黃鴨' + ' · ' + myTime +'</div>'
+ ' </div>'
+ '</div>';
$("#message_box").append(htmlData2);
$('#message_box').scrollTop($("#message_box")[0].scrollHeight + 20);
}
}
xmlhttp.open("GET", "/api/sendchat/" + msg, true);
xmlhttp.send();

};

sendToServer 函數調用后臺 API,并把接收到的消息回寫到 HTML 頁面中。

而目前的后臺 API 也比較簡單,直接返回用戶輸入的消息

@app.route('/api/sendchat/<info>', methods=['GET', 'POST'])
@login_required
def send_chat(info):
return info

這樣,一個整體的聊天室架子就搭建好了,后面我們再接入 redis 和自己訓練的聊天機器人,來實現真正的在線聊天室。

責任編輯:武曉燕 來源: 蘿卜大雜燴
相關推薦

2024-01-18 11:15:46

Pythonsocket聊天室

2024-04-03 15:20:08

2021-02-06 23:26:25

聊天室開發WebSocket

2023-01-13 00:02:41

2023-01-05 09:17:58

2011-12-15 11:11:51

JavaNIO

2023-02-10 08:16:48

WebSocket簡易聊天室

2022-07-26 14:53:10

WebSocket網絡通信協議

2022-04-18 10:36:48

社交軟件聊天平臺rocket.cha

2015-07-06 10:42:18

PHP聊天室應用

2021-11-16 09:38:10

鴻蒙HarmonyOS應用

2013-11-27 10:46:31

JavaEEWebsockets

2021-10-14 18:46:29

Websocket瀏覽器API

2015-10-19 17:38:01

AnsibleDocker應用部署

2025-05-09 08:35:00

聊天室FastAPIWebSocket

2025-06-09 02:00:00

項目技術棧Spring

2011-06-09 15:44:29

Spring

2022-12-01 08:25:23

eTsTCP聊天室

2021-12-09 16:48:25

鴻蒙HarmonyOS應用

2011-11-30 16:37:58

sync
點贊
收藏

51CTO技術棧公眾號

少妇熟女视频一区二区三区 | 亚洲xxxx视频| jizz日本在线播放| 四虎影视成人精品国库在线观看| 国产人伦精品一区二区| 国产欧美日韩中文字幕在线| 日本黄色录像视频| 成功精品影院| 黑人巨大精品欧美一区二区一视频| 久久久久久国产精品一区 | 精品福利电影| 亚洲欧美在线免费观看| 777一区二区| 激情影院在线| 99国内精品久久| 国产精品高潮呻吟久久av野狼 | 久久九九国产精品怡红院| 亚洲三级在线视频| 美女扒开腿让男人桶爽久久软| 久久久精品综合| 亚洲一区二区三区香蕉| 天堂网中文字幕| 中文字幕一区二区av| 亚洲成人精品av| 久久久久久久久久久综合| 日韩在线一区二区三区四区| 日本成人超碰在线观看| 欧美精品电影在线| 性猛交ⅹxxx富婆video | 欧美老女人第四色| 国产精品一色哟哟| 成人av电影观看| 国产成人精品三级麻豆| 国产成人综合av| 久久久久久久久久久97| 日韩av密桃| 精品无人区乱码1区2区3区在线 | 亚洲国产欧美日韩| 欧性猛交ⅹxxx乱大交| 久久99蜜桃精品| 55夜色66夜色国产精品视频 | 成人一区二区| 亚洲精品永久免费精品| 亚洲av无一区二区三区久久| 天然素人一区二区视频| 午夜欧美视频在线观看| 亚洲综合激情五月| 91看片在线观看| 91蝌蚪porny九色| 国产精品yjizz| 国产精品久久久久毛片| 日韩高清在线一区| 国外成人免费在线播放| 在线免费日韩av| 欧美激情成人| 在线视频欧美日韩精品| 人妻少妇精品视频一区二区三区| 97成人在线| 日韩写真欧美这视频| 日本 片 成人 在线| 蜜臀国产一区| 日韩欧美成人网| 浮妇高潮喷白浆视频| 国产乱码在线| 亚洲一区二区三区三| 裸体裸乳免费看| 里番在线观看网站| 国产精品久线在线观看| 精品无人区一区二区三区竹菊| 亚洲美女综合网| 国产精品夜夜嗨| 成人性生交大片免费观看嘿嘿视频| 中文字幕av第一页| 日本sm残虐另类| 国产精品久久久久不卡| 中文文字幕一区二区三三| 免费永久网站黄欧美| 6080yy精品一区二区三区| www日韩精品| 欧美专区一区二区三区| 庆余年2免费日韩剧观看大牛| 国产欧美一区二区三区在线看蜜臂| 亚洲青色在线| 热草久综合在线| 国产精品传媒在线观看| 美日韩一级片在线观看| 成人免费激情视频| 亚洲a视频在线| 成人精品免费视频| 国产精品区一区| 色鬼7777久久| 中文字幕乱码久久午夜不卡| 亚洲图片欧洲图片日韩av| 操你啦视频在线| 亚洲电影一区二区三区| aa在线免费观看| 亚洲成人人体| 91精品国产综合久久久久久久| 特级黄色片视频| 任你躁在线精品免费| 亚洲无限av看| 黄色一级视频免费| 蘑菇福利视频一区播放| 国产精品三级美女白浆呻吟| 国产激情无套内精对白视频| av综合在线播放| 午夜精品视频在线观看一区二区 | 性欧美xxx69hd高清| 日本高清不卡视频| 超级砰砰砰97免费观看最新一期| 免费看成人人体视频| 自拍偷拍亚洲区| 国产精品7777| 蜜臂av日日欢夜夜爽一区| 国产精品初高中精品久久| 国产小视频在线| 亚洲男人天堂一区| 青青草视频在线免费播放| 色香欲www7777综合网| 欧美一区二区黄色| 欧美激情亚洲色图| 一区在线视频观看| 国产欧美久久一区二区| 性感美女一级片| 亚洲欧美日韩中文字幕一区二区三区 | 国产精品青草久久| 精品少妇人妻av免费久久洗澡| 日本免费成人| 亚洲欧洲高清在线| 精品一区二区三区四| 视频一区免费在线观看| 成人av资源网| 日本在线观看| 黄色成人av网| 美女流白浆视频| 欧美丰满老妇| 国产精品高潮视频| 熟妇人妻一区二区三区四区| 亚洲乱码中文字幕| 中文字幕成人在线视频| 九一精品国产| 国产91精品视频在线观看| 国产黄色高清视频| 国产精品色呦呦| 久草综合在线观看| 日韩丝袜视频| 91成人国产在线观看| 亚洲高清视频在线播放| 亚洲欧美aⅴ...| 一区二区三区四区毛片| jlzzjlzz亚洲女人| 久久91精品国产| 91玉足脚交嫩脚丫在线播放| 成人午夜视频免费看| 欧美黄网在线观看| 日韩在线精品强乱中文字幕| 精品国内亚洲在观看18黄| 真实的国产乱xxxx在线91| 国产天堂亚洲国产碰碰| 国产午夜伦鲁鲁| 偷拍自拍亚洲色图| 国产91精品久久久久| 日漫免费在线观看网站| 亚洲永久精品大片| 三上悠亚 电影| 国内激情久久| 超碰97在线人人| 免费网站在线观看人| 日韩一级免费一区| 劲爆欧美第一页| 国产成人自拍高清视频在线免费播放| 特级西西人体www高清大胆| 老司机亚洲精品一区二区| 欧美精品在线看| 亚洲精品第五页| 亚洲国产精品久久不卡毛片| 国产精品一区二区人妻喷水| 亚洲黄色精品| 欧美日韩免费观看一区| 亚洲欧美在线成人| 中文字幕一精品亚洲无线一区| 中文字幕免费视频观看| 国产精品每日更新| 中文字幕亚洲日本| 一区二区三区福利| 日韩高清专区| 国产精一区二区| 久久久久久久久久久亚洲| 视频二区在线| 欧美日韩激情一区二区三区| 亚洲xxxx3d动漫| 9i在线看片成人免费| 欧美伦理片在线看| 亚洲色图二区| 久久综合久久综合这里只有精品| 日韩三级影视| 久久成年人免费电影| 色丁香婷婷综合久久| 在线观看亚洲a| 欧美老熟妇一区二区三区| 国产剧情一区二区| 男人靠女人免费视频网站| 久久亚洲专区| 国产精品久久久久久久小唯西川| 免费亚洲电影| 久久夜色精品亚洲噜噜国产mv| 熟妇高潮一区二区高潮| 精品污污网站免费看| 国产第一页第二页| 四虎影院观看视频在线观看| 欧美三区在线观看| 欧美日韩在线视频免费播放| 91美女在线视频| 污污的视频免费| 亚洲经典在线看| 亚洲免费精品视频| 欧美高清视频看片在线观看| 69久久夜色精品国产69| 麻豆网站在线观看| 亚洲欧美日韩第一区| 国产免费av观看| 色综合网站在线| 538精品在线观看| 国产欧美一区二区三区在线老狼| 一区二区在线免费观看视频| 日韩精品电影一区亚洲| 国产毛片久久久久久国产毛片| 久久av免费看| 豆国产97在线| 自拍偷拍亚洲| 日韩av大片免费看| av丝袜在线| 日韩视频第一页| 福利在线播放| 亚洲欧美国产精品va在线观看| 成人av免费播放| 欧美另类久久久品| 国产九色91回来了| 欧美午夜视频在线观看| 久久久久久久久久一区二区三区| 国产精品黄色在线观看| 丝袜美腿中文字幕| 丁香天五香天堂综合| 天天操精品视频| 久久9热精品视频| 我要看一级黄色大片| 男人的天堂亚洲| 欧美黄网站在线观看| 黄色成人在线网址| 轻点好疼好大好爽视频| 欧美99久久| 九九久久九九久久| 在线国产一区| 男女啪啪免费观看| 欧美精品网站| 大地资源网在线观看免费官网| 亚洲精品在线观看91| 天天成人综合网| 极品美女一区二区三区| 欧美日韩高清在线一区| 精品少妇一区| 国产在线观看一区| 日日天天久久| 青青草国产精品| 国产欧美一区二区精品久久久| 六十路精品视频| 杨幂一区二区三区免费看视频| 蜜桃av久久久亚洲精品| 免费成人网www| 日韩区国产区| 久久综合电影| 欧美少妇在线观看| 韩国在线视频一区| 我的公把我弄高潮了视频| 一本色道88久久加勒比精品| 国产爆乳无码一区二区麻豆| 午夜视频一区| 欧美精品久久久久久久免费| 美女久久一区| 国产精品区在线| 国产一区二区三区免费播放| 亚洲911精品成人18网站| 成人福利视频在线看| 中文字幕在线永久| 国产午夜精品福利| 亚洲区一区二区三| 亚洲午夜免费视频| 韩国av中文字幕| 91久久精品一区二区三| 在线观看污污网站| 欧美欧美欧美欧美首页| 精品人妻无码一区二区色欲产成人 | 日韩 国产 在线| 精品国产电影一区| 中文字幕在线一| 日韩午夜在线观看| 亚洲区小说区图片区| 色吧影院999| 俺来也官网欧美久久精品| 奇米一区二区三区四区久久| www.久久草.com| 九色91视频| 久久美女精品| 一女被多男玩喷潮视频| 国产农村妇女精品一区二区| 激情网站五月天| 国产精品一区二区黑丝| 魔女鞋交玉足榨精调教| 1024国产精品| 亚洲va在线观看| 日韩一区二区三区电影| 黄色大片在线看| 欧美极品在线视频| а√天堂资源国产精品| 97在线中文字幕| 林ゆな中文字幕一区二区| 亚洲欧美日本国产有色| 亚洲承认在线| 手机在线国产视频| 国产亚洲综合av| 久久精品www人人爽人人| 一本大道av一区二区在线播放| 国产视频在线观看视频| 亚洲精品电影网| 在线中文字幕视频观看| 国产成人一区二区| 国产精品调教| 久久久久久久久久久久久国产| 日韩精品高清不卡| 久久丫精品国产亚洲av不卡| 又紧又大又爽精品一区二区| 伊人影院中文字幕| 亚洲激情自拍图| 亚洲丝袜精品| 国产精品美女免费看| 色综合久久中文| 国产av熟女一区二区三区 | 91亚洲精品久久久蜜桃借种| 91丝袜美腿高跟国产极品老师 | 日韩国产小视频| 国产麻豆日韩欧美久久| 美国精品一区二区| 在线观看一区日韩| 国模吧精品人体gogo| 97精品在线视频| 麻豆一区二区| 国产乱淫av片杨贵妃| 国产一区福利在线| www.黄色com| 欧美日韩综合一区| 在线免费观看黄色| 国产精品青青在线观看爽香蕉| 亚洲三级精品| 无码人妻丰满熟妇区毛片| 欧美高清在线一区| 一区二区三区精彩视频| 欧美成人h版在线观看| 成人av激情人伦小说| 成人毛片一区二区| 欧美极品美女视频| 国产毛片毛片毛片毛片| 欧美激情一二区| 综合色就爱涩涩涩综合婷婷| 嫩草影院国产精品| 亚洲视频一区二区在线| 高清毛片aaaaaaaaa片| 奇米四色中文综合久久| 久久一区二区三区电影| 国产裸体视频网站| 偷拍与自拍一区| av男人的天堂在线| 91在线短视频| 免费亚洲一区| 色欲一区二区三区精品a片| 精品99一区二区| 九九热线视频只有这里最精品| 中文视频一区视频二区视频三区| 粉嫩aⅴ一区二区三区四区五区| 91精品国产乱码在线观看| 在线观看日韩av| 亚洲一区电影| 亚洲精品中文字幕无码蜜桃| 亚洲欧美另类小说视频| 日本黄在线观看| 国产伦精品一区二区三区精品视频| 激情欧美一区| 国产成人在线网址| 亚洲激情久久久| 国产aa精品| 日韩a在线播放| 亚洲精品久久久蜜桃| 国产一级片在线| 国产乱码精品一区二区三区日韩精品| 日韩和欧美一区二区三区| 久久久国产精华液| 色综合影院在线| 天堂av一区二区三区在线播放| 韩国三级丰满少妇高潮| 欧洲亚洲国产日韩| 麻豆网站免费在线观看|