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

Vue 和 Golang 實現人臉識別認證

開發 前端
我們不僅學習了如何使用兩種不同的編程語言構建完整的web應用程序,還學習了如何集成人臉識別技術來增強應用程序的安全性和用戶體驗。

人臉識別作為一種基于人工智能的生物特征識別技術,近年來在多個領域得到了廣泛的應用。在web應用程序中,基于人臉識別的身份驗證也變得越來越流行,用戶體驗也隨之不斷提升。

本文將介紹如何將FaceIO集成到Vue.js和Golang,以實現人臉識別的身份認證。

在web應用中,基于人臉識別的身份認證所帶來的安全和便利因素,可以增強用戶體驗。

FaceIO作為第三方技術服務提供商,提供基于人工智能的面部身份識別服務。此外,FaceIO還提供一個在線的JavaScript庫,非常容易集成到web應用程序。下面的代碼表示對在線JavaScript庫的引用:

<script src="https://cdn.faceio.net/fio.js"></script>

本文對應的項目代碼已上傳到GitHub。代碼基于MIT協議,因此沒有任何限制。

Technology Stack Front-end: Vue.Js v2.7.14, Node.Js v18.13.0, JQuery Back-end: Golang v1.13.15 Development Tool: GoLand 2019

項目前端的UI框架使用Bootstrap,并引用Gentella。登錄截圖如下所示:

圖片圖片

在集成web應用程序之前,你需要先從FaceIO的官方網站為應用程序申請公共的ID。申請過程非常簡單,且有免費的試用次數。有興趣的話可以登錄FaceIO的官網。

將FaceIO集成到Vue.js前端

第1步:在開發工具GoLand中創建Vue工程文件

本項目使用Node.Js 18.13.0版本。在GoLand中安裝插件Vue.js后,才能創建Vue項目文件。要安裝插件,則需要在File>Settings>Plugins中輸入Vue.js來查找并進行安裝。

第2步:在public目錄中引用fio.js

代碼如下所示:

<body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
  <script src="https://cdn.faceio.net/fio.js"></script>
  <script src="ajaxScript.js"></script>
  <script src="jquery.min.js"></script>
  <script type="text/javascript">
    let myFaceIO
    function initFaceIO(result) {
      myFaceIO = new faceIO(result.Result.FaceIOAppCode);
      window.myFaceIO=myFaceIO
    }
    jPost("config","",initFaceIO)
  </script>

在上面的代碼中,JQuery用于從后端獲取web應用程序在FaceIO中注冊的公共ID。這樣做的目的是為了防止公共ID直接在代碼中公開。如果公共ID在代碼中被寫死,靈活性就會非常低。

在自定義的JavaScript文件ajaxScript.js中,我實現了一個通過JQuery與后端通信的通用函數。自定義函數jPost()負責與后端交互。同時,數據交互后,調用結果中的回調函數initFaceIO()。所有數據交互都采用JSON數據格式。在回調函數initFaceIO()中,初始化FaceIO對象。

初始化FaceIO的代碼:

myFaceIO = new faceIO(result.Result.FaceIOAppCode);

初始化后,通過以下代碼:

window.myFaceIO = myFaceIO

使myFaceIO成為全局變量,并可用于Vue的框架代碼。

請注意,這里引用的JavaScript文件ajaxScript.js和jquery.min.js都在public目錄中,不使用Vue的庫文件。

第3步:在Vue框架中使用FaceIO

在這個項目中,我在Vue框架中使用了JQuery,并自定義 JavaScript庫文件scripts.js。在這個JavaScript庫文件中,重新封裝JQuery,并自定義一些操作函數。因此,為了全局有效,文件main.js中需要實現引用。同時,代碼還使用了UI框架Bootstrap,文件main.js需要引用這個框架。文件main.js的代碼如下所示:

import Vue from 'vue'
import App from './App.vue'
import router from './router/index.js'
import {AjaxPost} from './assets/build/js/scripts.js'
import './assets/vendors/bootstrap/dist/css/bootstrap.min.css'
import './assets/vendors/font-awesome/css/font-awesome.min.css'
import 'bootstrap/dist/js/bootstrap.min.js'

Vue.prototype.AjaxPost = AjaxPost
Vue.config.productionTip = false

new Vue({
    el: '#app',
    router,
    render: h => h(App)
})

在自定義的scripts.js文件中設置后端服務的HTTP訪問地址:

const serverUrl='http://127.0.0.1:8888/'

在這個項目中,前端和后端是獨立的開發框架。我使用Golang實現后端。后端啟動后,將占用端口號的獨立HTTP服務器。8888 是我自定義的端口號。該后端服務的接口地址可以根據具體的項目情況進行自定義和部署,并且可以修改自定義常量serverUrl的值。

完成上面的代碼后,就可以使用Vue文件中的FaceIO函數了。

例如,在userLogin.vue中,人臉識別的代碼如下所示:

window.myFaceIO.authenticate({
    "locale": "auto"
}).then(userInfo => {
    checkFaceLogin(userInfo);
}).catch(errCode => {
    console.log(errCode);
    window.myFaceIO.restartSession();
})

其中,函數checkFaceLogin()是自定義回調函數。用于處理FaceIO認證后返回的用戶認證結果數據。我們可以根據FaceIO返回的驗證結果數據進行下一步的業務邏輯處理。運行時的屏幕截圖如下:

圖片圖片

例如,在sysDashboard.vue中,面部身份注冊的代碼如下所示:

<script>
    export default {
        name: 'sysDashboard',
        activated() {
            this.AjaxPost("dashboard","",initData);
            function initData(result) {
                if(result.Code===1){
                    let fid=result.Result.FacialId
                    if(fid.length>4){
                        document.getElementById("myFacialId").innerHTML=fid
                        document.getElementById("FacialIdReg").disabled=true;
                    }
                }
            }
        },
        methods: {
            faceReg: function() {
                const that=this
                window.myFaceIO.enroll({
                    "locale": "auto"
                }).then(userInfo => {
                    addFacialAuth(userInfo);
                }).catch(errCode => {
                    console.log(errCode);
                })
                function addFacialAuth(userInfo) {
                    let obj = {};
                    obj.FacialId = userInfo.facialId;
                    that.AjaxPost("userEdit",obj,addFacialAuthEnd);
                }
                function addFacialAuthEnd(result) {
                    if(result.Code===1){
                        document.getElementById("myFacialId").innerHTML=result.Result.FacialId
                        document.getElementById("FacialIdReg").disabled=true;
                    }else {
                        alert("add Facial Auth fail")
                    }
                }
            }
        }
    }
</script>

其中,函數faceReg()是自定義的面部識別注冊函數。

子函數addFacialAuth()是自定義的回調函數,用于處理身份注冊完成后FaceIO返回的用戶注冊結果數據。我們可以使用FaceIO返回的注冊結果數據,繼續執行業務邏輯處理的下一步。

請注意自定義函數AjaxPost()的調用方法。它不是使用this.AjaxPost()的方法直接調用的。而是在函數faceReg()的第一行,在使用子函數addFacialAuth()中的AjaxPost()之前定義常量that。

const that = this

因為在子函數addFacialAuth()中,this.AjaxPost()是無效的。運行時的屏幕截圖如下:

圖片圖片

將FaceIO集成到Golang后端

在這個項目的代碼中,Golang用于實現后端服務。Golang具有良好的并發性能、內存管理自動化等優點,因此在構建后端服務時得到了廣泛的應用。首先需要安裝Golang。這里我使用的是1.13.15版本。安裝Golang后,在Goland開發工具中創建Golang項目文件,這很容易。

另外注意,在這個項目中,Golang中沒有持久性數據存儲。數據全部在內存中,如果服務重新啟動,數據將初始化。這是因為這個項目用作演示,所以怎么簡單我就怎么來。

步驟1:創建HTTP服務器

在文件api_router.go中創建HTTP服務器。代碼如下:

package routes

import (
   "../conf"
   "../handlers"
   "fmt"
   "log"
   "net/http"
)

func ApiRouter() {
   http.HandleFunc("/dashboard", handlers.Dashboard)
   http.HandleFunc("/config", handlers.Config)
   http.HandleFunc("/login", handlers.Login)
   http.HandleFunc("/loginWithFace", handlers.LoginWithFace)
   http.HandleFunc("/userEdit", handlers.UserEdit)
   port := conf.GetEnv().ServerPort
   if port == "" {
      port = "8080"
      log.Printf("Defaulting to port %s", port)
   }

   log.Printf("Listening on port %s", port)
   log.Printf("Open http://localhost:%s in the browser", port)
   log.Fatal(http.ListenAndServe(fmt.Sprintf(":%s", port), nil))
}

在上面的代碼中,使用http.HandleFunc()函數將多個路由函數注冊到HTTP多路復用器中。這些路由函數將處理來自客戶端的所有請求。

最后,調用http.ListenAndServe()函數開始偵聽端口上的HTTP請求。當前端向后端發送請求時,將執行相應的路由函數,并返回響應數據。

步驟2:接收來自Vue.js前端的請求

為了便于代碼管理,我將所有路由函數都包含在包handlers中。例如,獲取在FaceIO中注冊的應用程序的公共ID。這個函數的代碼在文件config.go中,如下所示:

package handlers

import (
   "../conf"
   "../model"
   "encoding/json"
   "io"
   "net/http"
)

func Config(w http.ResponseWriter, r *http.Request) {
   w.Header().Set("Access-Control-Allow-Origin", "*")
   w.Header().Set("Access-Control-Allow-Headers", "*")
   result := make(map[string]string)
   result["FaceIOAppCode"] = conf.GetEnv().FaceIOAppCode
   jsonResult := new(model.JsonResult)
   jsonResult.Code = conf.GetEnv().CodeSuccess
   jsonResult.Msg = conf.GetEnv().MsgSuccess
   jsonResult.Result = result
   msg, _ := json.Marshal(jsonResult)
   _, _ = io.WriteString(w, string(msg))
}

注意上面代碼中的這兩行代碼:

w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Headers", "*")

這樣設置的目的是允許跨域訪問。因為在我的本地開發環境中,前端啟動是獨立的HTTP服務器,后端啟動也是獨立的HTTP服務器。前端和后端之間的數據交互屬于跨域訪問。如果你是在生產環境中部署,則可以使用HTTP服務器運行。例如,可以通過Nginx設置反向代理。這樣屬于同一域訪問,就不需要這兩行代碼。

此項目的前端和后端數據交互都使用JSON數據格式。因此,上面的代碼調用函數json.Marshal()來格式化數據。

查看應用程序使用情況

作為人臉識別技術服務提供商,FaceIO控制臺提供了許多服務。例如,面部檢測、面部搜索、面部認證、活體檢測等這些功能都可以通過簡單地調用FaceIO提供的在線JavaScript庫來實現。此外,在注冊并登錄到管理后端后,你可以根據業務場景創建不同的應用程序并分配多個公共ID。每個應用程序的使用記錄截圖如下所示:

圖片圖片

本文簡要介紹如何使用通過Vue.js和Golang集成FaceIO,來實現基于人臉識別的身份認證系統。在Vue.js環境中,FaceIO提供了一個用于面部檢測和識別的在線JavaScript庫。你可以直接啟動用戶電腦的攝像頭,將拍攝到的面部照片直接發送給FaceIO服務器進行處理,并將識別結果返回給前端。拍攝的面部照片不需要通過應用程序。

圖片圖片

通過這個演示項目,我們不僅學習了如何使用兩種不同的編程語言構建完整的web應用程序,還學習了如何集成人臉識別技術來增強應用程序的安全性和用戶體驗。這些技能和知識可以幫助我們更好地了解計算機科學和軟件開發,增強我們的專業競爭力。保持不斷學習和進步的態度,不斷探索,才能掌握更多的實踐技能、創造更多價值。

責任編輯:武曉燕 來源: 前端新世界
相關推薦

2023-11-14 08:38:43

Golang人臉識別

2020-11-18 09:43:29

人臉識別AI人工智能

2021-05-10 11:08:00

人工智能人臉識別

2021-03-09 09:20:09

人臉識別人工智能智能手機

2020-11-11 07:25:08

人臉識別AI人工智能

2017-09-18 16:13:59

前端圖像處理人臉識別

2018-01-31 13:09:35

Pythonface_recogn人臉識別

2017-09-21 15:31:49

2022-10-20 09:33:35

2024-05-30 08:09:33

2021-08-26 20:05:22

人臉識別AI人工智能

2021-12-07 23:00:55

人臉識別安全技術

2021-08-13 10:01:19

人臉識別人工智能數據

2024-04-12 08:17:26

考勤系統員工人臉錄入OpenCV

2021-02-03 14:43:40

人工智能人臉識別

2020-11-25 08:24:13

人臉識別

2021-02-03 17:11:06

人臉識別信息安全技術

2015-02-10 10:08:59

JavaScript

2023-08-28 16:14:26

人臉識別

2021-07-01 09:32:14

人臉識別AI人工智能
點贊
收藏

51CTO技術棧公眾號

亚洲一区二区三区无码久久| 麻豆亚洲一区| 蜜臀av午夜精品久久| 日韩成人综合网站| ...av二区三区久久精品| 97se在线视频| 亚洲天堂一区在线观看| 欧洲grand老妇人| 欧美二区乱c少妇| 99热自拍偷拍| 免费网站成人| 成人性生交大片免费| 奇门遁甲1982国语版免费观看高清 | 国产97在线亚洲| 日韩一区二区三区四区视频| 97品白浆高清久久久久久| 色综合天天做天天爱| 色撸撸在线观看| 日韩一级在线播放| 久久精品国产99国产| 久久久久亚洲精品成人网小说| 精品无码人妻一区二区免费蜜桃 | 99视频在线免费观看| 国产原创视频在线| 一二三区不卡| 一区二区三区黄色| 天天躁日日躁狠狠躁av| 日本久久二区| 色妹子一区二区| www.国产在线播放| 欧美成人高清在线| xnxx国产精品| 成人av中文| 国产裸体无遮挡| 丝袜诱惑亚洲看片| 97精品伊人久久久大香线蕉| 伊人在线视频观看| 日本不卡免费一区| 日韩精品中文字幕有码专区| 韩国一区二区三区四区| 国产精品1区在线| 欧美亚洲综合色| 国内外成人激情视频| heyzo中文字幕在线| 亚洲欧美偷拍另类a∨色屁股| 日韩免费av一区二区三区| 少妇av在线播放| 国产宾馆实践打屁股91| 91色p视频在线| 中文字幕资源网| 日本美女一区二区三区| 欧美中文字幕精品| 99精品视频99| 国产亚洲永久域名| 26uuu另类亚洲欧美日本一| 日韩美女一级片| 在线播放精品| 久久免费精品视频| 日本一区二区三区免费视频| 欧美日本不卡高清| 欧美激情乱人伦| 麻豆91精品91久久久| 亚洲九九在线| 免费91在线视频| 午夜免费激情视频| 在线成人激情| 欧美高清不卡在线| 1级黄色大片儿| 久久久噜噜噜| 国产精品视频一区二区高潮| 国产精品久久久久久久一区二区| 精品一区中文字幕| 99久久精品免费看国产四区| 性猛交xxxx乱大交孕妇印度| 成人高清视频在线| 美女一区视频| 天堂地址在线www| 亚洲视频综合在线| av在线免费观看国产| 韩国成人二区| 色综合色综合色综合| 日本超碰在线观看| 玖玖精品一区| 亚洲国产精品久久精品怡红院| 美国黄色一级毛片| 成人三级视频| 久久人人爽人人爽爽久久 | 亚洲成精国产精品女| 免费看一级大黄情大片| 欧美大片免费高清观看| 欧美日韩精品综合在线| 国内自拍偷拍视频| 亚洲免费成人av在线| 久久九九国产精品怡红院| 久久久久久久极品内射| 亚洲欧美久久久| 成人网中文字幕| 人妻无码一区二区三区久久99| 2023国产一二三区日本精品2022| 亚洲一区二区三区免费看| 中文在线字幕免费观看| 欧美视频第一页| 三级一区二区三区| 福利欧美精品在线| 在线播放国产一区中文字幕剧情欧美 | www.国产二区| 日韩电影大全网站| 日韩三级电影网址| 亚洲区自拍偷拍| 欧美一区二区三区另类| 91av福利视频| 性网爆门事件集合av| 久久午夜电影网| 99re8这里只有精品| 综合另类专区| 日韩一级黄色片| 免费在线观看污| 亚洲午夜极品| 国产精品自产拍高潮在线观看| 亚洲成熟女性毛茸茸| 欧美国产日产图区| 91精品国产91久久久久麻豆 主演| 在线观看精品| 亚洲激情视频在线播放| 三级影片在线看| 日本不卡视频在线| 欧美日韩综合久久| a黄色片在线观看| 欧美在线免费观看亚洲| 国产三级视频网站| 激情久久久久久久| 99久re热视频这里只有精品6| 高清中文字幕一区二区三区| 婷婷国产在线综合| 亚洲少妇一区二区| 亚洲视频电影在线| 国产精品嫩草影院久久久| 网站黄在线观看| 亚洲妇熟xx妇色黄| 日本人妻一区二区三区| 一区二区三区毛片免费| 91在线|亚洲| 淫片在线观看| 欧美性一级生活| 久久久视频6r| 久久亚洲影院| 欧洲一区二区日韩在线视频观看免费 | 久久久精品久久久| 国产乱淫片视频| 亚洲天堂福利av| а 天堂 在线| 一区二区三区在线| 91亚洲国产成人精品性色| 日本在线免费播放| 在线91免费看| 亚洲 欧美 变态 另类 综合| 国产呦萝稀缺另类资源| 亚洲国产一二三精品无码| 91精品国产一区二区在线观看| 久久色精品视频| 国产极品久久久| 有码一区二区三区| 色哟哟免费视频| 国精品一区二区| 精品蜜桃一区二区三区| 日韩伦理在线一区| 亚洲图片欧美午夜| 一级α片免费看刺激高潮视频| 国产精品女人毛片| 夜夜爽久久精品91| 国产精品mm| 精品中文字幕一区| 国产综合色在线观看| 日韩视频在线免费观看| 精品国产无码一区二区三区| 亚洲一级在线观看| 精品无码一区二区三区| 久久99精品久久久久| 久久99国产精品一区| 久9re热视频这里只有精品| 91超碰caoporn97人人| 国产在线视频网| 3751色影院一区二区三区| 亚洲欧美一区二区三区四区五区| eeuss影院一区二区三区| 无码无遮挡又大又爽又黄的视频| 99热国内精品| 精品欧美一区二区久久久伦| 久久青草免费| 国内精品一区二区三区| eeuss影院www在线播放| 欧美成人综合网站| 国产真人无遮挡作爱免费视频| 亚洲人成电影网站色mp4| 第四色在线视频| 美女视频黄免费的久久 | 日本不卡在线播放| www.久久热| 国产91精品不卡视频| 老司机福利在线视频| 日韩电影免费在线观看中文字幕| 91久久久久国产一区二区| 亚洲h在线观看| 99re6热在线精品视频| 99re亚洲国产精品| 一级淫片在线观看| 日本中文字幕不卡| 无码 制服 丝袜 国产 另类| 99久久激情| 久中文字幕一区| 2020国产精品极品色在线观看| 国产精品美女www爽爽爽视频| 大香伊人中文字幕精品| 日韩在线欧美在线| 四虎国产精品永远| 日韩欧美精品三级| 中文字幕在线播出| 色综合久久九月婷婷色综合| 精品无码免费视频| 最新不卡av在线| 一级片黄色录像| 91美女片黄在线观看| caopor在线| 国产精品中文字幕日韩精品| 日本肉体xxxx裸体xxx免费| 国产一区白浆| 精品国产免费av| 国产精品videosex极品| 麻豆映画在线观看| 小说区亚洲自拍另类图片专区| 日韩高清在线播放| 久久爱www成人| 蜜桃麻豆www久久国产精品| 精品精品精品| 成人欧美一区二区三区黑人免费| 国产一区二区三区| 91九色国产视频| 中文成人激情娱乐网| 国产日韩欧美视频| 亚洲精品大片| 91麻豆国产精品| 国产精品欧美一区二区三区不卡 | 精品按摩偷拍| 国产伦精品一区二区三| 97久久精品| 精品999在线观看| 欧美a大片欧美片| 国产一区二区三区色淫影院| 日韩电影不卡一区| 久久精品综合一区| 美女亚洲一区| 亚欧洲精品在线视频免费观看| 日韩综合精品| av电影一区二区三区| 午夜精品偷拍| 毛片在线播放视频| 亚洲专区免费| 日韩av手机版| 国产一区二区三区四| 欧美一级大片免费看| 97se狠狠狠综合亚洲狠狠| 亚洲国产无码精品| 欧美国产丝袜视频| 成人在线观看小视频| 亚洲va欧美va天堂v国产综合| 成年人免费高清视频| 欧美影视一区二区三区| 国产精品无码专区av免费播放| 日韩一区和二区| 亚洲精品中文字幕成人片| 国产婷婷成人久久av免费高清| av在线三区| 久久影院资源网| 97超碰免费在线| 国产精品视频网站| 99精品国产高清一区二区麻豆| 久久99精品久久久久久秒播放器 | 国产精品久久..4399| 久久精品人人做人人爽电影蜜月| 亚洲欧洲日本精品| 成人福利视频在线看| 亚洲一区二区自偷自拍| 亚洲欧美另类小说| 美日韩一二三区| 在线观看91av| 青青草在线免费观看| 久久精品视频在线观看| 国产欧洲在线| 成人激情视频网| 欧美顶级毛片在线播放| 亚洲一区精彩视频| 亚洲精品日本| 国产免费中文字幕| 久久综合五月天婷婷伊人| 波多野结衣亚洲一区二区| 日韩欧美一区二区三区久久| 国产日韩精品suv| 亚洲片国产一区一级在线观看| 国产黄大片在线观看画质优化| 欧美亚洲日本网站| 精品一区二区三区亚洲| 秋霞久久久久久一区二区| 欧美成人一品| 波多野结衣xxxx| www日韩大片| 久久久久久久久久久97| 欧美日韩一区二区在线观看| 四虎在线观看| 久久人人爽人人| 久久在线观看| 亚洲最大免费| 日韩在线一区二区三区| v天堂中文在线| 亚洲一区在线观看视频| 国产精品视频无码| 夜夜嗨av色一区二区不卡| av在线最新| 操一操视频一区| 中文字幕一区二区三区在线视频 | 日韩最新免费不卡| 朝桐光一区二区| 精品乱码一区| 亚洲精品四区| 91九色蝌蚪porny| 亚洲黄色在线视频| 91中文字幕在线播放| 中文字幕成人在线| 怡红院成人在线| 欧美xxxx黑人又粗又长密月| 影音先锋一区| 亚洲男女在线观看| 亚洲国产精品一区二区尤物区| 99精品国产99久久久久久97| 日韩一区二区欧美| 免费成人毛片| 伊人久久99| 久国产精品韩国三级视频| 后入内射无码人妻一区| 欧美三级电影一区| avtt在线播放| 国产精品午夜视频| 水蜜桃精品av一区二区| 色播五月激情五月| 中文字幕在线一区| 国产精品久久婷婷| 萌白酱国产一区二区| 天堂精品久久久久| www.xxx麻豆| av在线不卡免费看| 特级毛片www| 亚洲欧美在线看| 日韩不卡视频在线观看| 色播亚洲婷婷| 蜜桃一区二区三区在线观看| 免费精品在线视频| 欧美一区二区三区四区五区 | 亚洲一区二区黄色| 亚洲欧洲精品视频| 国产精品jizz在线观看麻豆| 欧美三级三级| 在线免费看污网站| 亚洲大尺度视频在线观看| | 久久久人成影片一区二区三区| 国语一区二区三区| 自慰无码一区二区三区| 日本一区二区三区四区在线视频| 一区二区三区午夜| 欧美精品video| 免费欧美视频| 日韩 国产 一区| 精品二区三区线观看| 国产黄在线观看免费观看不卡| 91精品国产综合久久男男| 国产精品v亚洲精品v日韩精品| 91成年人网站| 欧美一区二区视频免费观看| 蜜桃视频www网站在线观看| 神马影院一区二区三区| 国产精品888| 人妻丰满熟妇av无码区| 久久久成人精品| 香蕉久久夜色精品国产更新时间| 黄色免费网址大全| 亚洲一线二线三线视频| 国产视频网址在线| 国产91精品入口17c| 青娱乐精品视频| 国产在线成人精品午夜| 国产一区二区三区丝袜| 18国产精品| 色悠悠久久综合网| 亚洲丰满少妇videoshd| porn视频在线观看| 国产亚洲一区二区三区在线播放| 美女精品自拍一二三四| 亚洲另类欧美日韩| 九九久久久久99精品| 欧州一区二区| 久久人妻少妇嫩草av无码专区 |