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

歡迎訪問 生活随笔!

生活随笔

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

数据库

spring boot高性能实现二维码扫码登录(中)——Redis版

發(fā)布時間:2023/12/13 数据库 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring boot高性能实现二维码扫码登录(中)——Redis版 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言


?

  本打算用CountDownLatch來實現(xiàn),但有個問題我沒有考慮,就是當用戶APP沒有掃二維碼的時候,線程會阻塞5分鐘,這反而造成性能的下降。好吧,現(xiàn)在回歸傳統(tǒng)方式:前端ajax每隔1秒或2秒發(fā)一次請求,去查詢后端的登錄狀態(tài)。

?

?

一、支付寶和微信的實現(xiàn)方式


?

1.支付寶的實現(xiàn)方式

每隔1秒會發(fā)起一次http請求,調用https://securitycore.alipay.com/barcode/barcodeProcessStatus.json?securityId=web%7Cauthcenter_qrcode_login%7C【UUID】&_callback=light.request._callbacks.callback3

如果獲取到認證信息,則跳轉進入內部系統(tǒng)。

如圖所示

?

?

?

2.微信的實現(xiàn)方式

每隔1分鐘調用一次 https://login.wx.qq.com/cgi-bin/mmwebwx-bin/login?loginicon=true&uuid=【UUID】&tip=0&r=-1524754438&_=1521943100181

?

而請求一次的時間預計是1分鐘,如果沒有查到到認證信息,則會返回

window.code=408;

  

?

沒有掃碼就會一直等待。當一定時間不掃碼二維碼,頁面就會強制刷新。

我猜想后端的機制和我上篇《spring boot高性能實現(xiàn)二維碼掃碼登錄(上)——單服務器版》類似。

那么如果用戶長時間不掃二維碼,服務器的線程將不會被喚醒,微信是怎么做到高性能的。如果有園友知道,可以給我留言。

?

3.我的實現(xiàn)方式

好了,我這里選用支付寶的實現(xiàn)方式。因為簡單粗暴,還高效。

流程如下:

1.前端發(fā)起成二維碼的請求,并得到登錄UUID

2.后端生成UUID后寫入Redis。

3.前端每隔1秒發(fā)起一次請求,從Redis中獲取認證信息,如果沒有認證信息則返回waiting狀態(tài),如果查詢到認證信息,則將認證信息寫入seesion。

?

二、代碼編寫


?

pom.xml引入Redis及Session的依賴:

<!-- redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!-- session --><dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId></dependency>

  

完整的pom.xml:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.demo</groupId><artifactId>auth</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>auth</name><description>二維碼登錄</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- zxing --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.0</version></dependency><dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.3.0</version></dependency><!-- redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!-- session --><dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project> pom.xml

?

App.java入口類:

package com.demo.auth;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}} App.java

?

resources/application.properties 中配置使用redis存儲session

# session spring.session.store-type=redis

?

?

前端頁面index.html和login.html

<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>二維碼登錄</title> </head> <body><h1>二維碼登錄</h1><h4><a target="_blank" href="http://www.cnblogs.com/GoodHelper/">from劉冬的博客</a></h4><h3 th:text="'登錄用戶:' + ${user}"></h3><br /><a href="/logout">注銷</a> </body> </html> index.html

?

<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>二維碼登錄</title> <script src="//cdn.bootcss.com/angular.js/1.5.6/angular.min.js"></script> <script type="text/javascript">/*<![CDATA[*/var app = angular.module('app', []);app.controller('MainController', function($rootScope, $scope, $http) {//二維碼圖片src $scope.src = null;//獲取二維碼 $scope.getQrCode = function() {$http.get('/login/getQrCode').success(function(data) {if (!data || !data.loginId || !data.image)return;$scope.src = 'data:image/png;base64,' + data.image$scope.getResponse(data.loginId)});}//獲取登錄響應 $scope.getResponse = function(loginId) {$http.get('/login/getResponse/' + loginId).success(function(data) {if (!data) {setTimeout($scope.getQrCode(), 1000);return;}//一秒后,重新獲取登錄二維碼if (!data.success) {if (data.stats == 'waiting') {//一秒后再次調用 setTimeout(function() {$scope.getResponse(loginId);}, 1000);} else {//重新獲取二維碼 setTimeout(function() {$scope.getQrCode(loginId);}, 1000);}return;}//登錄成功,進去首頁 location.href = '/'}).error(function(data, status) {//一秒后,重新獲取登錄二維碼 setTimeout(function() {$scope.getQrCode(loginId);}, 1000);})}

$scope.getQrCode();});/*]]>*/ </script> </head> <body ng-app="app" ng-controller="MainController"><h1>掃碼登錄</h1><h4><a target="_blank" href="http://www.cnblogs.com/GoodHelper/">from劉冬的博客</a></h4><img ng-show="src" ng-src="{{src}}" /> </body> </html>

?

bean配置類BeanConfig.java:

package com.demo.auth;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.StringRedisTemplate;@Configuration public class BeanConfig {@Beanpublic StringRedisTemplate template(RedisConnectionFactory connectionFactory) {return new StringRedisTemplate(connectionFactory);}}

?

登錄處理類:

/*** 登錄配置 博客出處:http://www.cnblogs.com/GoodHelper/**/ @Configuration public class WebSecurityConfig implements WebMvcConfigurer {/*** 登錄session key*/public final static String SESSION_KEY = "user";@Beanpublic SecurityInterceptor getSecurityInterceptor() {return new SecurityInterceptor();}public void addInterceptors(InterceptorRegistry registry) {InterceptorRegistration addInterceptor = registry.addInterceptor(getSecurityInterceptor());// 排除配置addInterceptor.excludePathPatterns("/error");addInterceptor.excludePathPatterns("/login");addInterceptor.excludePathPatterns("/login/**");// 攔截配置addInterceptor.addPathPatterns("/**");}private class SecurityInterceptor extends HandlerInterceptorAdapter {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {HttpSession session = request.getSession();if (session.getAttribute(SESSION_KEY) != null)return true;// 跳轉登錄String url = "/login";response.sendRedirect(url);return false;}} } WebSecurityConfig

?

MainController類修改為:

?

package com.demo.auth;import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.util.HashMap; import java.util.Hashtable; import java.util.Map; import java.util.UUID; import java.util.concurrent.TimeUnit;import javax.imageio.ImageIO; import javax.servlet.http.HttpSession;import org.apache.commons.codec.binary.Base64; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.SessionAttribute;import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;/*** 控制器* * @author 劉冬博客http://www.cnblogs.com/GoodHelper**/ @Controller public class MainController {private static final String LOGIN_KEY = "key.value.login.";@Autowiredprivate StringRedisTemplate redisTemplate;@GetMapping({ "/", "index" })public String index(Model model, @SessionAttribute(WebSecurityConfig.SESSION_KEY) String user) {model.addAttribute("user", user);return "index";}@GetMapping("login")public String login() {return "login";}/*** 獲取二維碼* * @return*/@GetMapping("login/getQrCode")public @ResponseBody Map<String, Object> getQrCode() throws Exception {Map<String, Object> result = new HashMap<>();String loginId = UUID.randomUUID().toString();result.put("loginId", loginId);// app端登錄地址String loginUrl = "http://localhost:8080/login/setUser/loginId/";result.put("loginUrl", loginUrl);result.put("image", createQrCode(loginUrl));ValueOperations<String, String> opsForValue = redisTemplate.opsForValue();opsForValue.set(LOGIN_KEY + loginId, loginId, 5, TimeUnit.MINUTES);return result;}/*** app二維碼登錄地址,這里為了測試才傳{user},實際項目中user是通過其他方式傳值* * @param loginId* @param user* @return*/@GetMapping("login/setUser/{loginId}/{user}")public @ResponseBody Map<String, Object> setUser(@PathVariable String loginId, @PathVariable String user) {ValueOperations<String, String> opsForValue = redisTemplate.opsForValue();String value = opsForValue.get(LOGIN_KEY + loginId);if (value != null) {opsForValue.set(LOGIN_KEY + loginId, user, 1, TimeUnit.MINUTES);}Map<String, Object> result = new HashMap<>();result.put("loginId", loginId);result.put("user", user);return result;}/*** 等待二維碼掃碼結果的長連接* * @param loginId* @param session* @return*/@GetMapping("login/getResponse/{loginId}")public @ResponseBody Map<String, Object> getResponse(@PathVariable String loginId, HttpSession session) {Map<String, Object> result = new HashMap<>();result.put("loginId", loginId);ValueOperations<String, String> opsForValue = redisTemplate.opsForValue();String user = opsForValue.get(LOGIN_KEY + loginId);// 長時間不掃碼,二維碼失效。需重新獲二維碼if (user == null) {result.put("success", false);result.put("stats", "refresh");return result;}// 登錄掃碼二維碼if (user.equals(loginId)) {result.put("success", false);result.put("stats", "waiting");return result;}// 登錄成,認證信息寫入session session.setAttribute(WebSecurityConfig.SESSION_KEY, user);result.put("success", true);result.put("stats", "ok");return result;}/*** 生成base64二維碼* * @param content* @return* @throws Exception*/private String createQrCode(String content) throws Exception {try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);hints.put(EncodeHintType.CHARACTER_SET, "utf-8");hints.put(EncodeHintType.MARGIN, 1);BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 400, 400, hints);int width = bitMatrix.getWidth();int height = bitMatrix.getHeight();BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);for (int x = 0; x < width; x++) {for (int y = 0; y < height; y++) {image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);}}ImageIO.write(image, "JPG", out);return Base64.encodeBase64String(out.toByteArray());}}@GetMapping("/logout")public String logout(HttpSession session) {// 移除session session.removeAttribute(WebSecurityConfig.SESSION_KEY);return "redirect:/login";} }

?

?

三、運行效果:?


?

?如圖所示,效果與上篇一樣。

?

目前我在考慮微信的方式。我打算采用 CountDownLatch await一分鐘,然后使用消息訂閱+廣播喚醒線程的方式來實現(xiàn)此功能。如果有懂原理的朋友可以給我留言。

?

?

代碼下載

?

如果你覺得我的博客對你有幫助,可以給我點兒打賞,左側微信,右側支付寶。

有可能就是你的一點打賞會讓我的博客寫的更好:)

?

返回玩轉spring boot系列目錄

?

作者:劉冬.NET 博客地址:http://www.cnblogs.com/GoodHelper/ 歡迎轉載,但須保留版權

?

?

?

轉載于:https://www.cnblogs.com/GoodHelper/p/8643071.html

總結

以上是生活随笔為你收集整理的spring boot高性能实现二维码扫码登录(中)——Redis版的全部內容,希望文章能夠幫你解決所遇到的問題。

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

在线观看资源 | 精品国产乱码久久久久久1区二区 | 成人性生交大片免费观看网站 | 欧美精品久久 | 欧洲高潮三级做爰 | 久99久在线视频 | 国产精品国内免费一区二区三区 | 亚洲国产成人久久综合 | 免费观看www小视频的软件 | 69国产精品视频免费观看 | 国产精品大尺度 | 激情喷水 | 天天射综合网站 | 天天射天天拍 | 热久久最新地址 | 亚洲精品视频在线观看视频 | 日日弄天天弄美女bbbb | 99久热在线精品视频成人一区 | 99精品视频在线看 | 六月丁香婷婷网 | 日韩精品免费在线 | a色视频 | 色综合中文字幕 | 操操日| 国内精品久久久久久久影视简单 | 99激情网| 国产1区在线 | 九色91在线 | 国产91精品一区二区麻豆亚洲 | 中文在线亚洲 | av成人在线观看 | 国产专区在线播放 | 成人在线播放网站 | 国产亚洲精品久久19p | 美女视频是黄的免费观看 | 四虎在线免费视频 | 91视频3p| 九色精品免费永久在线 | 丁香5月婷婷久久 | 亚洲黄色小说网 | 日韩av午夜在线观看 | 狠狠操狠狠干2017 | 亚洲美女久久 | 中文字幕在线免费 | 免费看国产一级片 | 2022国产精品视频 | 麻豆国产网站入口 | 国产精品白丝jk白祙 | 大胆欧美gogo免费视频一二区 | 在线免费观看视频a | 国产99久久久精品视频 | 国产午夜精品理论片在线 | 色资源中文字幕 | 91亚洲狠狠婷婷综合久久久 | 水蜜桃亚洲一二三四在线 | 欧美成人xxxx | av在线免费不卡 | 激情视频综合网 | 成人免费电影 | 中文字幕丰满人伦在线 | 欧美成人在线网站 | 亚洲三级性片 | 免费黄色av| 日韩激情在线 | 国产精品自产拍在线观看 | av在线超碰 | 精品产品国产在线不卡 | 国精产品永久999 | 不卡电影免费在线播放一区 | 三级av中文字幕 | 国产精品一区在线观看你懂的 | 丁香av| 一区二区三区免费在线 | 四季av综合网站 | 91黄色在线看 | 中文字幕综合在线 | 狠狠色噜噜狠狠狠狠2022 | 亚洲人成影院在线 | 日本久久视频 | 成人动漫精品一区二区 | 黄色aa久久| 91网站在线视频 | 天天曰 | 国产精品国产三级国产专区53 | 国产在线国偷精品产拍 | 91视频高清完整版 | 久久情网 | 欧美日韩国产mv | 国产中文字幕网 | 国产成人精品免费在线观看 | 午夜丁香视频在线观看 | 亚洲精品国产精品国 | 麻豆国产精品一区二区三区 | 天天插视频 | 日本久久精品视频 | 国产美女精品视频免费观看 | 天天干天天操天天入 | 97精品国产一二三产区 | 丝袜美女在线 | 日韩激情在线 | 99精品黄色片免费大全 | 日韩av五月天 | 色美女在线 | 日本精品一区二区在线观看 | www.国产高清 | 国产综合精品一区二区三区 | 欧美另类交在线观看 | av网在线观看| 日韩女同一区二区三区在线观看 | 成人wwwxxx视频 | 国产高清亚洲 | 欧美日韩精品久久久 | 亚洲精品mv在线观看 | 久久精品这里都是精品 | 99精品免费久久久久久久久 | 亚洲色图 校园春色 | 毛片a级片 | 91热| 91人人澡人人爽 | 99精品一区 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 亚洲女同ⅹxx女同tv | 免费观看特级毛片 | 91人人爽人人爽人人精88v | 天天干,天天射,天天操,天天摸 | 黄色动态图xx | 97av.com| 久久av一区二区三区亚洲 | 日韩黄视频| 最新精品视频在线 | 在线视频日韩 | 免费看片成人 | 国产黄色看片 | 日韩精品久久久免费观看夜色 | 婷婷 中文字幕 | 成人黄色大片网站 | 日韩免费一区二区 | 国产精品毛片 | 日本中文一区二区 | 91福利区一区二区三区 | 久久综合爱 | 四虎www.| 成人在线你懂得 | 中文字幕资源网 | 免费高清在线一区 | 在线观看 国产 | 国产99久久久欧美黑人 | 色在线视频| 午夜久草 | 毛片久久久 | 国产69精品久久久久久久久久 | 中国一级片在线 | 999久久a精品合区久久久 | 午夜久久久久 | 国产最新视频在线观看 | 成人黄色毛片 | 91 在线视频播放 | 亚洲黄色在线免费观看 | 婷婷深爱 | 欧美精品在线免费 | 天天爱天天射天天干天天 | 欧美成人理伦片 | 麻花天美星空视频 | 亚洲激情视频 | 中文字幕色在线 | 国内精品一区二区 | 欧美另类一二三四区 | 久久久久亚洲精品男人的天堂 | 在线观看资源 | 91精品老司机久久一区啪 | 欧美伦理一区 | a久久免费视频 | 婷婷av色综合 | 尤物97国产精品久久精品国产 | www在线观看视频 | 久久久免费观看视频 | 9色在线视频 | www.成人精品 | 狂野欧美激情性xxxx欧美 | 深爱综合网 | 国产一区二区在线免费视频 | av高清一区二区三区 | www.夜夜操.com | 在线看中文字幕 | 91视频91蝌蚪| 日日夜夜骑 | 国产免费大片 | 国产人成一区二区三区影院 | 日韩影片在线观看 | 超碰人人99| 人人玩人人添人人澡97 | 天天干天天操天天拍 | 伊人久久在线观看 | 色婷婷丁香 | 手机av在线免费观看 | 五月开心网 | 欧美日韩不卡在线观看 | 9在线观看免费高清完整 | 特级黄色片免费看 | 岛国av在线 | 在线观看视频中文字幕 | 在线观看色网 | 亚洲狠狠操 | 超碰在线观看av.com | 精品国产一区二区三区四区在线观看 | 天堂av在线免费 | 成人免费在线网 | 日日综合网| 日韩大片在线免费观看 | 亚洲精品2区 | 国产成人精品一区二区在线 | 欧美analxxxx | 中文字幕有码在线播放 | 亚洲免费精品视频 | 国产成人一区二区三区电影 | 久99久精品| 欧美日韩久久不卡 | 日韩电影在线观看中文字幕 | 久久综合狠狠狠色97 | 97超碰国产精品 | 欧美一区二区三区免费看 | 在线三级中文 | 在线成人av | 久久精品91视频 | 成年美女黄网站色大片免费看 | 欧美 日韩 国产 成人 在线 | 久久国语露脸国产精品电影 | 美女视频久久黄 | 五月婷婷另类国产 | 三级在线视频观看 | 在线观看视频中文字幕 | 99热这里只有精品国产首页 | 久久天天躁狠狠躁亚洲综合公司 | 国产一区二区在线视频观看 | 国产精品美女久久久久久免费 | 国产一区在线视频播放 | 在线观看视频免费大全 | 麻豆国产精品va在线观看不卡 | 亚洲精品视频久久 | av一区二区在线观看中文字幕 | 亚洲精品国精品久久99热一 | 91av官网| 午夜男人影院 | 国产精品无 | 九七视频在线观看 | 一级一级一片免费 | 午夜av不卡| 免费日韩视频 | 丁香视频免费观看 | 免费麻豆 | 国内精品亚洲 | 一区二区三区 中文字幕 | 亚洲综合一区二区精品导航 | 欧美一级片在线观看视频 | 91大神精品视频在线观看 | 国产一区在线观看免费 | 在线 国产 亚洲 欧美 | 欧美射射射 | 久久精品人人做人人综合老师 | a天堂最新版中文在线地址 久久99久久精品国产 | 四虎在线观看精品视频 | 91精品国产高清自在线观看 | 日韩动态视频 | 激情图片久久 | 精品视频一区在线 | 激情丁香5月 | 久久久久久久久久久精 | 成人av中文字幕 | 四虎影院在线观看av | 久久视频在线观看 | 麻豆一二 | 国产高清 不卡 | 国产人成在线视频 | 亚洲欧美怡红院 | 欧美成人影音 | 亚洲欧美日韩在线一区二区 | 亚洲国产中文字幕在线视频综合 | 国产精品第一页在线 | 伊人午夜| 国产福利av在线 | 国产精品亚洲成人 | 亚洲有 在线 | 人人干人人草 | 成年人视频免费在线播放 | 国产精品久久久久久久久久99 | 国产a精品 | 天天摸天天操天天爽 | 天天爽人人爽夜夜爽 | 亚洲视频精选 | 福利精品在线 | 精品国产乱码久久久久 | 久久精品视频网站 | 久久久久久久精 | 免费看成人av | 国产又粗又长的视频 | 激情黄色av| 91在线免费播放 | 欧美日韩在线精品 | 深爱五月激情五月 | 成年人在线看片 | 91中文字幕视频 | 国产色综合 | 国产精品videoxxxx | 人人爱人人爽 | 国产精品久久亚洲 | 五月天亚洲婷婷 | 97视频人人澡人人爽 | 亚洲一区欧美激情 | 人人射人人射 | 色婷婷亚洲综合 | 91视频在线免费 | 成人在线视频观看 | 91香蕉视频| 精品在线观 | 五月天久久精品 | 久久avav| www成人精品| 丝袜美女视频网站 | 91免费网址 | 久久精品久久99 | 五月亚洲综合 | 国产精品毛片一区二区 | 91在线视频观看免费 | 在线91网 | 天天操天天干天天摸 | 在线播放你懂 | 国产做爰视频 | 日韩视频在线观看免费 | 奇米影视四色8888 | 在线看成人片 | 91视频在线播放视频 | 日韩av视屏| 亚洲精品国偷拍自产在线观看蜜桃 | 蜜臀一区二区三区精品免费视频 | 国内久久久久 | 国产色一区 | 色av婷婷| 天天色成人网 | 激情丁香月 | 国产大尺度视频 | 久久精品资源 | 一区二区视频免费在线观看 | 干干操操 | 国产资源 | www狠狠操| 久久久99国产精品免费 | 国产福利免费在线观看 | 亚洲理论片| 日本不卡一区二区 | 丁香九月激情 | av在线播放一区二区三区 | 在线观看中文字幕亚洲 | 免费看片成人 | 成人在线免费视频 | 四虎永久视频 | 国产视频精品免费播放 | 一区二区三区手机在线观看 | 亚洲一区二区三区在线看 | 亚洲一片黄 | 天天色天天操天天爽 | 欧美日韩亚洲在线观看 | 五月天丁香亚洲 | 一本色道久久精品 | 9999亚洲| 天天爽夜夜操 | 国产亚洲精品久久久久久无几年桃 | 玖玖在线精品 | 六月丁香激情综合色啪小说 | 中文字幕在线视频一区二区 | 黄色精品一区二区 | 欧美美女视频在线观看 | 午夜久久电影网 | 五月婷婷国产 | 国产日韩视频在线 | 黄色动态图xx | 91九色porny蝌蚪主页 | 免费av黄色 | 天天操福利视频 | 99久久日韩精品免费热麻豆美女 | 在线看一区二区 | 久久亚洲国产精品 | 欧美在线观看视频一区二区 | 久久线视频 | 天天干夜夜爱 | 久久99国产精品久久99 | 国产午夜精品一区二区三区在线观看 | 久久久精品亚洲 | 三级黄色大片在线观看 | 国产精品久久久久久久免费大片 | 天天摸夜夜添 | 欧美99久久| 成人app在线播放 | 中文字幕亚洲精品日韩 | 亚洲精品乱码久久久久 | 福利视频在线看 | 欧美精品在线视频 | 精品99999| 国产生活一级片 | 成人精品国产免费网站 | 高潮毛片无遮挡高清免费 | 亚洲综合成人av | 免费在线观看av | 亚洲成人资源 | av电影免费观看 | 色大片免费看 | 天天干人人 | 婷婷在线精品视频 | 超碰在线人人97 | 国产精品高潮呻吟久久av无 | 国产在线一卡 | 在线 欧美 日韩 | 久久精品国产精品亚洲 | 五月婷婷网站 | 麻豆国产精品一区二区三区 | 奇米影视8888在线观看大全免费 | 亚欧日韩av| 亚洲女人av| 在线看片成人 | 国产专区第一页 | 中文字幕免费高清在线观看 | 九九九在线观看 | 日韩精品一区二区三区在线播放 | 欧美网址在线观看 | 涩涩伊人 | 精品久久久久久国产91 | 天天操天天玩 | 成人久久18免费网站图片 | 波多野结衣动态图 | 中文亚洲欧美日韩 | 黄p在线播放 | 免费观看性生交 | 亚洲www天堂com| 欧美日韩91 | 色婷婷综合视频在线观看 | 国产在线高清精品 | 激情综合色综合久久综合 | www.久久91 | 国产日韩视频在线播放 | 天天曰视频 | 中文字幕精品一区 | 久久午夜国产精品 | 黄色小网站在线观看 | 久久综合狠狠综合久久狠狠色综合 | 91福利视频网站 | 亚洲一区二区三区四区精品 | 最近在线中文字幕 | 亚洲欧美日韩精品久久奇米一区 | 国产精品国产三级国产专区53 | 国产一区高清在线 | 2019中文字幕第一页 | 中文免费 | 中文字幕在线播放日韩 | 天天操天天操天天操天天操天天操天天操 | 精品一区二区三区电影 | 天天草天天| 99久热在线精品视频观看 | 9在线观看免费高清完整版 玖玖爱免费视频 | 91亚洲国产成人久久精品网站 | 久久综合激情 | 国产一区二区在线播放 | 国产香蕉97碰碰久久人人 | 国产高清精| 久久99热精品这里久久精品 | 精品久久免费 | 菠萝菠萝在线精品视频 | 婷婷色狠狠 | 日本久草电影 | 亚洲精品资源在线观看 | 免费试看一区 | 精品国产欧美一区二区三区不卡 | 伊色综合久久之综合久久 | 久操97 | 亚洲精品免费播放 | 成人午夜久久 | 亚洲区视频在线观看 | 国产一级二级在线 | 91高清视频免费 | 欧美一区二区在线免费看 | 成av在线 | 国产成人福利在线观看 | 在线观看中文字幕一区二区 | 国产高清黄色 | 天天干天天干天天射 | 免费av网址大全 | 亚洲男男gaygay无套同网址 | 色狠狠狠| 91麻豆国产| www.超碰97.com | a级一a一级在线观看 | 日日爱网址 | 久久久久国产精品免费 | 99精品在线免费在线观看 | 免费在线观看的av网站 | 不卡视频在线看 | 久久精品久久久久电影 | 亚洲精品中文字幕视频 | 久黄色 | 亚洲精品人人 | 99精品免费在线观看 | 国产精品99久久久久久人免费 | 黄色成人av| 在线观看精品国产 | 成人丁香花 | 国产精品入口66mio女同 | 国产69久久精品成人看 | 久久久久国产精品免费 | 久久久婷| 激情小说久久 | 国产免费观看视频 | 九九激情视频 | 国产视频精品免费 | 日本黄网站 | 国产精品高清在线观看 | 99精品国产兔费观看久久99 | 最新国产精品久久精品 | 天天激情天天干 | 国产精品高清一区二区三区 | 天天干干 | 狠狠色丁香婷婷综合久久片 | 免费高清在线观看电视网站 | 亚洲美女在线一区 | av看片网 | 中文字幕在线一区二区三区 | 四虎在线影视 | 亚洲精品456在线播放 | 久久99精品国产99久久 | 亚洲最新av在线网站 | 午夜精品在线看 | 国产免费区 | 亚洲视屏在线播放 | 最近中文字幕大全中文字幕免费 | 国产99re| a黄在线观看 | 又黄又爽免费视频 | 蜜桃久久久| 日韩最新av| 精品视频在线免费观看 | 久久综合免费视频影院 | 看片黄网站 | 日韩美女免费线视频 | 日本天天色 | 66av99精品福利视频在线 | 一区二区三区在线观看免费 | 国产一区二区三区视频在线 | 日本久久综合网 | 涩五月婷婷 | 91精品一区国产高清在线gif | 日本激情视频中文字幕 | 成人一级电影在线观看 | 永久免费精品视频 | 日韩二区在线播放 | 91中文在线视频 | 国产高清区 | 丁香六月欧美 | 日韩午夜一级片 | 国产午夜三级 | 99精品视频在线免费观看 | 欧美精品v国产精品 | 成片免费观看视频 | av丝袜天堂 | 日韩一区在线播放 | 超碰公开在线观看 | 97成人资源站 | 欧美精品久久人人躁人人爽 | av在线播放国产 | 婷婷精品国产欧美精品亚洲人人爽 | 国产小视频在线免费观看视频 | 久久久国产精华液 | 成全在线视频免费观看 | 干干日日 | 97在线播放视频 | 国产精品一区二区三区99 | 日韩手机视频 | 亚州中文av| 91亚洲国产| 亚洲免费在线观看视频 | 国产精品欧美久久久久无广告 | 69精品| 日韩a在线 | 97精品超碰一区二区三区 | 国产字幕在线观看 | 国产特级毛片aaaaaa高清 | 在线 国产一区 | 在线精品观看 | 亚洲精品国产品国语在线 | 久久综合精品国产一区二区三区 | av中文电影 | 蜜臀av免费一区二区三区 | 亚洲精品www. | 久久精彩免费视频 | 国产精品自拍av | 国产精品毛片一区视频播 | 操高跟美女| 91在线超碰| 激情综合啪 | 日韩三区在线观看 | 亚洲一区天堂 | 人人讲下载 | 在线观看视频国产一区 | 精品国产一区二区三区av性色 | 五月婷婷av在线 | 91色国产 | 亚洲国产影院 | aaa日本高清在线播放免费观看 | 亚洲成人黄色在线观看 | 三三级黄色片之日韩 | 欧美aa级| 热99在线视频 | 久久精品久久精品久久 | 中文字幕一区二区三区精华液 | 久久综合9988久久爱 | 在线免费av网站 | 精品国产乱码久久久久久天美 | 成人av在线网址 | 色资源网免费观看视频 | 亚洲精品xxx | 免费a网站 | 狠狠色综合欧美激情 | 婷婷视频在线观看 | 精品久久久久久久久亚洲 | av 一区 二区 久久 | 国产一二三区av | 韩国av免费在线 | 国产精品一区二区久久精品爱涩 | av片免费播放| 成人黄色国产 | 免费色av| 天天色成人网 | 97精品国产97久久久久久久久久久久 | 久久黄色免费观看 | 久草视频免费在线观看 | 日韩av进入 | 波多野结衣一区 | 精品96久久久久久中文字幕无 | 国产精品大片在线观看 | 婷婷色综合 | 人成午夜视频 | 国产精品福利午夜在线观看 | 亚洲精品白浆高清久久久久久 | 日韩理论在线播放 | av免费在线看网站 | 国产精品久久久久久久久久久免费看 | 欧美资源在线观看 | 最新av在线网址 | 又黄又色又爽 | 黄色在线网站噜噜噜 | 欧美精品国产综合久久 | 亚洲成人家庭影院 | 欧美俄罗斯性视频 | 亚洲精品久久视频 | 一级黄色大片 | 五月激情视频 | 婷婷免费在线视频 | 国产1级视频 | 色综合久久精品 | 亚洲综合涩 | 国产无套精品久久久久久 | 高清av中文字幕 | 香蕉免费在线 | 亚洲精品自拍视频在线观看 | 国产成人久久77777精品 | 久久久精品网站 | 一级精品视频在线观看宜春院 | 中文字幕在线视频免费播放 | 欧美精品亚州精品 | 国产视频在线观看一区二区 | 九九视频这里只有精品 | 日韩欧美一区二区三区免费观看 | 久草视频网| 午夜12点 | 视频国产在线观看18 | 天天操天天干天天干 | 国产精选在线观看 | 久久久久久国产精品亚洲78 | 日产av在线播放 | 成人免费一级片 | 国产玖玖在线 | 99热这里只有精品1 av中文字幕日韩 | www色av | 欧美日韩一区二区三区不卡 | 91精品伦理| 99热这里只有精品1 av中文字幕日韩 | 成人午夜在线观看 | 中文一区二区三区在线观看 | 日韩中文字幕免费在线观看 | 亚a在线 | 午夜精品一区二区三区在线 | 日日夜日日干 | 中国一级特黄毛片大片久久 | 国产一区二区视频在线 | 国产精品成人一区 | av在线免费观看网站 | 黄色视屏免费在线观看 | 午夜丁香视频在线观看 | 99精品国产视频 | 五月天六月婷 | 国产成人精品一区二 | 国产精品igao视频网网址 | 欧美伊人网 | 91尤物在线播放 | 国产精品欧美久久 | 成年人在线免费看视频 | 激情偷乱人伦小说视频在线观看 | 久久99久久99精品免观看软件 | 欧美做受高潮电影o | 激情丁香 | avav片 | 99精品国产兔费观看久久99 | 丁香激情视频 | 99精品在线视频播放 | 国产不卡在线看 | 国产综合在线观看视频 | 日韩激情小视频 | 91视频-88av | 4438全国亚洲精品观看视频 | 欧美成人一区二区 | 日韩激情视频在线观看 | 日韩色爱| 五月在线| 免费日韩一区二区三区 | 91在线九色 | 正在播放国产一区 | 在线观看中文字幕亚洲 | 人人干人人干人人干 | 亚洲精品乱码久久久久 | 日韩久久精品一区二区三区下载 | 超碰在线94 | 日韩专区中文字幕 | 久久电影中文字幕视频 | 久久久国产精品麻豆 | av高清网站在线观看 | 欧美一级片免费在线观看 | 久久免费视频一区 | 欧美性色综合网 | 免费日p视频 | av观看久久久 | 久久久久久久久久久久电影 | 人人澡人人添人人爽一区二区 | 色播六月天 | 日韩午夜大片 | 国产黄色精品网站 | 五月婷婷激情网 | 91原创在线观看 | 欧美一级视频一区 | 国产成人精品免费在线观看 | 国产精品黑丝在线观看 | 国产高清免费av | 二区三区毛片 | 成人少妇影院yyyy | 成人污视频在线观看 | 精品久久久久久久 | 97国产 | 婷婷色吧 | 中文字幕文字幕一区二区 | 中国一级特黄毛片大片久久 | 人人爽人人澡 | 中文字幕在线播放第一页 | 精品国产成人av在线免 | 夜色资源站国产www在线视频 | caobi视频| 国产精品综合在线 | 在线观看日韩精品视频 | 黄色av一区二区三区 | 在线免费看黄网站 | 在线看国产日韩 | 超碰97人人射妻 | 久久看片网站 | 在线播放国产一区二区三区 | 丝袜美腿在线 | 美女福利视频在线 | 99国产在线视频 | 夜夜操天天干, | 精品久久久久一区二区国产 | 久久久免费观看视频 | 中文字幕在线观看完整版电影 | 亚洲网站在线 | 国产亚洲成人网 | 操操操人人人 | 国产小视频在线播放 | a v在线视频| 播五月婷婷| 国产在线观看你懂得 | 国产成人精品999在线观看 | 天天操天天干天天插 | 一区二区激情视频 | 亚洲成人精品在线观看 | 四虎最新入口 | 亚洲精品免费在线观看 | 久久成人在线视频 | 国产91精品一区二区 | 国产精品成人a免费观看 | 亚州精品成人 | 欧美精品黑人性xxxx | 亚洲精品456在线播放第一页 | 国产精品一区二区av日韩在线 | 天天在线操 | 国产福利91精品一区二区三区 | 91免费观看网站 | av软件在线观看 | 又黄又刺激的视频 | 欧美日本国产在线观看 | 国产精品美女免费看 | 久久久免费精品国产一区二区 | 亚洲一级免费观看 | 免费视频网 | 色综合天天狠天天透天天伊人 | 亚洲免费av电影 | 亚洲一区二区视频在线播放 | 不卡av在线| 午夜少妇av | 国产精品不卡在线播放 | 亚洲视频www| 午夜精品一区二区三区视频免费看 | 91网站在线视频 | 玖玖在线免费视频 | 91人人人| 蜜桃传媒一区二区 | 久久免费av电影 | 国产日韩精品一区二区三区在线 | 99热这里 | 日韩激情片在线观看 | 欧美日韩久 | 久久久久久久影院 | 伊人狠狠操 | 2023国产精品自产拍在线观看 | 欧美电影在线观看 | 国产精品久久久久久久久久妇女 | 色中色资源站 | 久草国产精品 | 欧美日韩一区二区在线观看 | 超级碰碰碰碰 | 国产福利精品一区二区 | 中文字幕网站视频在线 | 久久久久国 | 久久精品视频中文字幕 | 91亚洲精品视频 | 伊人久久电影网 | 日韩免费在线观看 | 午夜电影av| 国产原创在线 | 91精品国产麻豆国产自产影视 | 国产精品综合久久久 | 极品中文字幕 | 超碰在线97观看 | 国模精品一区二区三区 | 欧美特一级 | 婷婷综合导航 | 日韩黄色在线电影 | 日韩精品欧美视频 | 又大又硬又黄又爽视频在线观看 | 国产精品九九久久久久久久 | 午夜影院一级 | 天天色天天射天天干 | 香蕉影视在线观看 | 狠狠狠色丁香婷婷综合久久五月 | 久久怡红院 | 国产一二三区在线观看 | 高清av免费看 | 免费看v片网站 | 欧美做受高潮1 | 亚洲天堂va | 国产视频综合在线 | 欧美日韩精品在线免费观看 | 天天玩天天干天天操 | 国产精品一区二区在线看 | 色偷偷中文字幕 | 免费观看一级视频 | 狠狠网| 精品视频免费久久久看 | 最新av网址在线观看 | 国产成a人亚洲精v品在线观看 | 精品视频www | 一级黄色在线免费观看 | 色综合天天狠狠 | av免费网站在线观看 | 亚洲精品自在在线观看 | 免费视频久久久久 | 日韩欧美在线观看一区 | 亚洲黄色大片 | 特级西西444www大精品视频免费看 | 久草视频免费看 | 美女视频黄频大全免费 | 日韩一级电影网站 | 亚洲视屏一区 | 久久天天躁夜夜躁狠狠躁2022 | 99久久影视 | 久久综合久久88 | 精品久久久免费视频 | 808电影 | 500部大龄熟乱视频使用方法 | 久草在线高清视频 | 天天综合视频在线观看 | 久久久久99精品成人片三人毛片 | 国产成人久久精品一区二区三区 | 日精品在线观看 | 日韩久久久久久久久久久久 | 成人xxxx| 日韩精品国产一区 | 色婷婷亚洲综合 | 亚洲精品一区二区三区新线路 | 日本黄色免费观看 | 免费观看成人 | 97超视频免费观看 | 国精产品999国精产品视频 | 奇米影视8888 | 久久国产精品久久精品 | 国产99久久九九精品免费 | 亚洲不卡123 | 可以免费观看的av片 | 久久精品亚洲综合专区 | www.com久久 | 精品国产乱码久久久久久天美 | 97国产在线观看 | 久久福利综合 | 久久人人艹| 激情综合六月 | 中文字幕一区二区在线观看 | 午夜精品一区二区三区免费视频 | 久久久国产精品网站 | 伊人五月综合 | 国偷自产中文字幕亚洲手机在线 | 日韩午夜一级片 | 国产精品欧美久久 | 婷婷六月综合亚洲 | 国产1级视频 | 久久综合九色欧美综合狠狠 | 中文字幕一二三区 | 黄色网中文字幕 | 成人久久18免费网站麻豆 | 欧美另类交人妖 | 伊人色综合久久天天网 | 日韩在线中文字幕视频 | 韩国av免费在线观看 | 久久久受www免费人成 | 在线观看国产www | 久草资源免费 | 国产精品视频 | 天天操夜夜曰 | 久久综合九色综合网站 | 成人精品99 | 国产网站av | 久久久久久久久精 | 亚洲天堂精品视频在线观看 | 精品日韩在线一区 | 美女视频黄免费的久久 | 国产手机视频在线播放 | 九九视频这里只有精品 | 国产精品久久久久久婷婷天堂 | 亚洲人成网站精品片在线观看 | 久久久性 | 欧美日韩国产精品爽爽 | 日韩动态视频 | 爱av在线网 | 99爱这里只有精品 | 免费能看的黄色片 | 综合网成人 | 久久一区二区免费视频 | 99爱视频在线观看 | 日韩黄色在线电影 | 色国产精品一区在线观看 | 成人在线免费视频观看 | 国产高清中文字幕 | 欧美精品999 | 日韩中文字幕在线看 | 狠狠综合网 | 激情电影影院 | 免费99精品国产自在在线 | 久久99精品久久久久久 | 中文字幕一区二区三区在线观看 | 国语黄色片 | 亚洲欧美在线综合 | 五月激情天 | 日日夜夜天天操 | 久久久久久国产精品免费 | 国产精品精品 | 黄色大片日本 | 91视频下载 | 99精品在线免费观看 | 免费看污网站 | 国内精品久久久久影院一蜜桃 | 国产永久免费 | 欧美亚洲精品在线观看 | 久久久久久免费 | 婷婷色吧| 91av福利视频 | 我要看黄色一级片 | 久久免费在线 | 看国产黄色大片 | 天天天天爱天天躁 | 日韩av男人的天堂 | 国产色在线观看 | 亚洲三级在线播放 | 国产剧情一区二区 | 伊人中文在线 | 最新国产在线视频 | 国产最新在线视频 | 国产免码va在线观看免费 | 国产欧美综合视频 |