• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Vue.js的后臺(tái)單頁應(yīng)用管理系統(tǒng)的研究與實(shí)現(xiàn)

    2017-12-07 07:44:20曠志光紀(jì)婷婷吳小麗
    現(xiàn)代計(jì)算機(jī) 2017年30期
    關(guān)鍵詞:后臺(tái)全局代碼

    曠志光,紀(jì)婷婷,吳小麗

    (上海計(jì)算機(jī)軟件技術(shù)開發(fā)中心,上海201112)

    基于Vue.js的后臺(tái)單頁應(yīng)用管理系統(tǒng)的研究與實(shí)現(xiàn)

    曠志光,紀(jì)婷婷,吳小麗

    (上海計(jì)算機(jī)軟件技術(shù)開發(fā)中心,上海201112)

    通過研究Vue.js、路由、全局狀態(tài)、axios等技術(shù),實(shí)現(xiàn)后臺(tái)單頁應(yīng)用管理系統(tǒng)。對(duì)actions進(jìn)行封裝,并在配置文件中定義好相關(guān)請(qǐng)求信息,即可實(shí)現(xiàn)帶后臺(tái)API請(qǐng)求的action操作,極大程度減少系統(tǒng)代碼量,并保證系統(tǒng)的統(tǒng)一性、健壯性。前端頁面根據(jù)菜單策略控制頁面文件的入口,根據(jù)頁面權(quán)限控制策略進(jìn)行按鈕級(jí)別權(quán)限校驗(yàn)。

    Vue.js;MVVM;單頁應(yīng)用;權(quán)限管理

    0 引言

    為了滿足日益復(fù)雜、多樣的Web App需求,越來越多的原本后端處理的業(yè)務(wù)邏輯開始轉(zhuǎn)移到前端來處理。Vue.JS就是這樣一套構(gòu)建用戶界面的漸進(jìn)式框架,方便大部分后端邏輯移植到前端去實(shí)現(xiàn)。Vue.JS采用自底向上增量開發(fā)的設(shè)計(jì),其核心庫只關(guān)注視圖層,它不僅易于上手,還便于與第三方庫或既有項(xiàng)目整合。另一方面,當(dāng)Vue.JS與單文件組件及其Vue.JS生態(tài)系統(tǒng)支持的庫結(jié)合使用時(shí),也完全能夠?yàn)閺?fù)雜的單頁應(yīng)用程序提供驅(qū)動(dòng)。由此,采用Vue.JS進(jìn)行后臺(tái)管理系統(tǒng)的前端設(shè)計(jì)工作,一定程度減輕前后端開發(fā)人員開發(fā)難度。

    1 系統(tǒng)關(guān)鍵組件選型

    本系統(tǒng)前端工程基于流程簡(jiǎn)化、低成本、快速開發(fā)、高性能等需求,主要選用到 Vue.JS、vue-router、vuex、axios等關(guān)鍵組件。

    Vue.JS是整個(gè)前端工程的基礎(chǔ)視圖層框架,主要解決前端數(shù)據(jù)綁定的問題。傳統(tǒng)的前端開發(fā),主要基于jQuery通過各種復(fù)雜的選擇器來操作DOM。同時(shí),通過AJAX跟服務(wù)器請(qǐng)求數(shù)據(jù),前端代碼一層層解析JSON,將JSON某個(gè)層級(jí)的數(shù)據(jù)賦給相應(yīng)的DOM操作,還要進(jìn)行請(qǐng)求的異常處理,數(shù)據(jù)不但操作繁瑣復(fù)雜且易出現(xiàn)未知錯(cuò)誤。而通過Vue.JS的響應(yīng)式雙向綁定數(shù)據(jù),實(shí)時(shí)反映數(shù)據(jù)的真實(shí)變化并映射到目標(biāo)虛擬DOM上,避免前端頁面開發(fā)中DOM選擇器繁雜的操作,簡(jiǎn)化Web前端開發(fā)流程和降低開放難度,提升前端開發(fā)效率,降低開發(fā)成本和周期。

    vue-router是Vue.JS官方發(fā)布的一款路由插件,和Vue.JS是深度集成的,適合用于構(gòu)建單頁面應(yīng)用。傳統(tǒng)的頁面應(yīng)用,是用一些超鏈接來實(shí)現(xiàn)頁面切換和跳轉(zhuǎn)的。而在vue-router單頁面應(yīng)用中,則是路徑之間的切換,也就是組件的切換。通過router-view來動(dòng)態(tài)掛載頁面組件,并最終渲染成頁面。另外,HTML5里引入了新的 API,history.pushState和 history.replaceState,可以通過這個(gè)新的接口做到無刷新訪問頁面的同時(shí)改變頁面URL[1],這讓Vue.JS能夠動(dòng)態(tài)調(diào)整頁面路徑,方便頁面切換,提高了用戶體驗(yàn)。

    vuex是Vue.JS官方依照Flux實(shí)現(xiàn)的一套全局狀態(tài)管理方案,并被集成到vue-devtools,無需配置即可在瀏覽器中實(shí)現(xiàn)時(shí)光旅行式調(diào)試。當(dāng)開發(fā)單頁應(yīng)用時(shí),我們通常會(huì)把狀態(tài)儲(chǔ)存在組件的內(nèi)部,每一個(gè)組件都擁有其自身的狀態(tài)管理,但是在整個(gè)應(yīng)用層面上看,很多公共的狀態(tài)是卻是分散在各個(gè)頁面中。同時(shí),我們經(jīng)常會(huì)需要把狀態(tài)的一部分共享給多個(gè)組件。一個(gè)常見的解決方案是使用事件系統(tǒng)來讓一個(gè)組件把一些狀態(tài)“告知”到其他組件中,來讓相應(yīng)的組件去響應(yīng)變化。但是這種模式的問題在于,大型組件樹中的事件流會(huì)很快變得非常繁雜,并且調(diào)用時(shí)很難去找出究竟哪里出錯(cuò),事件的冒泡也很有可能導(dǎo)致整個(gè)應(yīng)用的資源消耗非常大。應(yīng)用越來越大,頁面文件數(shù)也越來越多,多個(gè)狀態(tài)分散的跨越在許多組件和交互中,其復(fù)雜度也經(jīng)常逐漸增長(zhǎng)。使用vuex將狀態(tài)放入一個(gè)全局的實(shí)例中,做到各個(gè)組件同步響應(yīng),減少系統(tǒng)狀態(tài)復(fù)雜度。但是在使用全局狀態(tài)管理時(shí),我們還需要對(duì)組件的組件本地狀態(tài)(componentlocalstate)和應(yīng)用層級(jí)狀態(tài)(application levelstate)進(jìn)行區(qū)分,避免出現(xiàn)組件本地狀態(tài)放到應(yīng)用級(jí)狀態(tài)去管理。應(yīng)用級(jí)的狀態(tài)不屬于任何特定的組件,但每一個(gè)組件仍然可以監(jiān)視(Observe)其變化從而響應(yīng)式地更新DOM。

    通過vue-router我們解決了頁面切換問題,通過vuex我們解決了全局狀態(tài)共享管理的問題,但是所有應(yīng)用的基礎(chǔ)在于數(shù)據(jù)。傳統(tǒng)數(shù)據(jù)請(qǐng)求,主要利用jQuery封裝的AJAX請(qǐng)求來實(shí)現(xiàn)。在處理異步問題時(shí),一般采用的是callback回調(diào)的方式。callback回調(diào)存在一個(gè)很嚴(yán)重的金字塔問題——大量的回調(diào)函數(shù)慢慢向右側(cè)屏幕延伸的一種狀態(tài)[2]。通過采用含Promise特性的組件來進(jìn)AJAX請(qǐng)求,使得我們可以用同步的代碼形式實(shí)現(xiàn)異步的請(qǐng)求操作。axios就是這樣一個(gè)基于Promise用于瀏覽器和nodejs的HTTP客戶端,其可以從瀏覽器中創(chuàng)建XMLHttpRequest,支持Promise API,同時(shí)方便實(shí)現(xiàn)請(qǐng)求過程中的中間件操作,例如權(quán)限校驗(yàn)。

    整個(gè)前端工程總結(jié)下來,主要采用vue作為基礎(chǔ)視圖層框架,利用vue-router完成前端頁面路由的跳轉(zhuǎn)及各類訪問攔截功能,采用axios作為HTTP請(qǐng)求庫,同時(shí)利用vuex負(fù)責(zé)前端的全局狀態(tài)管理,采用iView作為界面基礎(chǔ)組件庫。

    2 架構(gòu)設(shè)計(jì)

    2.1 前端結(jié)構(gòu)

    整個(gè)后臺(tái)單頁應(yīng)用管理系統(tǒng)分為兩個(gè)工程:前端工程、后端工程,以API接口形式聯(lián)合前后端。其中前端工程的結(jié)構(gòu)目錄如圖1所示:

    圖1 前端工程結(jié)構(gòu)

    2.2 詳細(xì)設(shè)計(jì)

    前端工程中,以components作為獨(dú)立頁面組件的存放目錄,使用pages作為系統(tǒng)頁面的存放目錄,所有涉及全局狀態(tài)管理的代碼存放在store目錄,涉及路由配置的代碼存放在router目錄下,通用的配置文件存放在common目錄。

    通常,在進(jìn)行store設(shè)計(jì)時(shí),會(huì)將所有的action集中在action.js文件中,其中包含通過axios進(jìn)行后臺(tái)api請(qǐng)求的代碼。在進(jìn)行后臺(tái)單頁應(yīng)用系統(tǒng)開發(fā)的時(shí)候,會(huì)頻繁跟后臺(tái)進(jìn)行數(shù)據(jù)溝通,故考慮將action分成兩種類型,一種是不帶后臺(tái)API請(qǐng)求的,只是單純進(jìn)行前端操作的,另外一直則是包含后臺(tái)API請(qǐng)求,跟后臺(tái)進(jìn)行數(shù)據(jù)溝通。根據(jù)以往經(jīng)驗(yàn),大概2/3的action會(huì)涉及后臺(tái)API請(qǐng)求,故需要通過某種形式來減少重復(fù)的請(qǐng)求代碼。經(jīng)過對(duì)上述問題的思考,可以通過以下方式來減少系統(tǒng)的代碼量,同時(shí)保證請(qǐng)求統(tǒng)一性,尤其是請(qǐng)求異常的統(tǒng)一性處理:

    在common/mutation-types.js中聲明所有的action的 name,如:export const BACKEND_LOGIN='BACKEND_LOGIN',其中定義了一個(gè)BACKEND_LOGIN的action。

    在api/config.js中聲明所有涉及后臺(tái)API請(qǐng)求的action,并配置其請(qǐng)求地址等內(nèi)容,其格式如下:api[BACKEND_LOGIN]={url:'some_url',method:'get',pathinfo:true|false,noMutation:true|false}。其中,對(duì)象的鍵是mutation-type的常量,url表示請(qǐng)求的路徑,method表示請(qǐng)求的方式,pathinfo表示請(qǐng)求的url參數(shù)是否以pathinfo加入到請(qǐng)求的路徑上,noMutation表示是否忽略commit操作,該設(shè)計(jì)考慮是,某些ajax請(qǐng)求到的數(shù)據(jù),并非全局的狀態(tài),而是某些頁面級(jí)別的狀態(tài),故無需將請(qǐng)求到的相關(guān)數(shù)據(jù)進(jìn)行全局狀態(tài)管理。

    在api/helper.js中,聲明createAPIRequest方法,其接受三個(gè)參數(shù):commit,type,param,其中 commit是一個(gè)方法,進(jìn)行mutation的commit操作,type是一個(gè)具體的 mutation-type(即 action的 name),param 是需要傳入的請(qǐng)求參數(shù)。通過傳入的type,可以從api/config.js中獲取該type的api請(qǐng)求配置。根據(jù)其配置,進(jìn)行相應(yīng)的后臺(tái)api請(qǐng)求,并根據(jù)配置項(xiàng)中的noMutation來鑒別是否需要對(duì)mutation進(jìn)行commit操作,最終返回一個(gè)Promise實(shí)例,使得我們可以使用同步代碼的形式實(shí)現(xiàn)各類異步操作。核心代碼如下所示:

    //api/config.js

    importapifrom'./config'

    export const createAPIRequest=function(commit,type,params={}){

    letapiItem=api[type]

    if(apiItem){

    //requestconfig

    letconfig={}

    config.url=API_ROOT+apiItem.url

    config.method=apiItem.method||'get'

    config.headers={}

    //以下省略處理params,根據(jù)請(qǐng)求method決定

    ......

    //do request

    return axios(config)

    .then(function(response){

    return response.data

    },function({response}){

    //以下省略網(wǎng)絡(luò)異常處理

    ......

    })

    .then(function(data){

    //根據(jù)noMutation決定是否要進(jìn)行commit

    if(apiItem.noMutation===undefined||apiItem.no-Mutation===false){

    commit(type,data)

    }

    return data

    })

    }else{

    //none apidefined

    return new Promise(function(resolve,reject){

    reject(ERROR_NO_API_CONFIG)

    })

    }

    }

    最終,我們?cè)趕tore/actions.js中引入上述3個(gè)文件,并通過遍歷config,動(dòng)態(tài)生成帶后臺(tái)api請(qǐng)求的action。相關(guān)代碼參考如下:

    import{createAPIRequest}from'../api/helper'

    importconfig from'../api/config'

    //create apiactions,use mutions type as action name

    letactions={}

    Object.keys(config).forEach(function(type){actions[type]=function({commit},params={}){

    return createAPIRequest(commit,type,params)

    }

    })

    其中actions包含所有帶API請(qǐng)求的action,通過跟不帶API請(qǐng)求的action進(jìn)行合并,得到這個(gè)store管理需要使用的action。

    2.3 權(quán)限設(shè)計(jì)

    另外,在進(jìn)行前端系統(tǒng)設(shè)計(jì)的時(shí)候,還需考慮整個(gè)系統(tǒng)的權(quán)限問題。在后臺(tái)應(yīng)用中,主要是在中間件中根據(jù)RBAC來鑒別用戶權(quán)限[3]。在前端頁面中,主要分以下三個(gè)層面進(jìn)行用戶權(quán)限的控制:

    第一層,主要是對(duì)用戶入口的控制,表現(xiàn)為:根據(jù)用戶角色來獲取用戶所能訪問的菜單列表。

    第二層,主要是對(duì)用戶訪問頁面的時(shí)候,進(jìn)行權(quán)限鑒別。在router的全局鉤子中,根據(jù)用戶角色的權(quán)限,來鑒別用戶是否擁有訪問該頁面的權(quán)限,如果有權(quán)限,則next(),否則,直接重定向用戶到401頁面。

    第三層,當(dāng)用戶只有訪問頁面權(quán)限,但沒有進(jìn)行操作權(quán)限時(shí),通過封裝的hasPermission方法動(dòng)態(tài)展示或隱藏相關(guān)操作入口,也可以根據(jù)實(shí)際請(qǐng)求展示或隱藏相關(guān)數(shù)據(jù)列。

    3 部署實(shí)現(xiàn)

    通過前后端分離,來保證前后端發(fā)布的獨(dú)立性。整個(gè)應(yīng)用的請(qǐng)求反饋邏輯如圖2所示:

    圖2 部署結(jié)構(gòu)

    針對(duì)前端工程,利用webpack打包來生成生成環(huán)境下的前端代碼。針對(duì)后端工程,則需根據(jù)特定的開發(fā)環(huán)境,打包相應(yīng)的生產(chǎn)環(huán)境應(yīng)用。當(dāng)進(jìn)行前后端分離發(fā)布,也經(jīng)常會(huì)遇到跨域的問題,為減少代碼層面的修改動(dòng)作,可利用Nginx進(jìn)行反向代理,將兩個(gè)工程的放到一個(gè)域名下去部署,從而解決跨域問題。以下是以PHP應(yīng)用為樣例的Nginx配置文件,其主要思想是將對(duì)前端頁面的請(qǐng)求反向代理到前端靜態(tài)頁面,由前端vue-router進(jìn)行頁面路由控制;將所有對(duì)QPI的訪問反向代理到后臺(tái)PHP應(yīng)用。關(guān)鍵配置如下:

    server{

    listen 91;

    set$root/usr/share/nginx/admin/public;

    location~.*.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$

    {

    root$root;

    }

    location/{

    root$root;

    index index.html;

    if( -f$request_filename){

    break;

    }

    if( !-e$request_filename){rewrite^(.*)$/index.php/$1 last;break;

    }

    }

    location/api{

    root$root;

    index index.htmlindex.php;

    if( -f$request_filename){

    break;

    }

    if( !-e$request_filename){rewrite^/api/(.*)$/api/index.php/$1 last;break;

    }

    }

    ###vuejs前端URL前綴

    location/system{

    index index.html;

    try_files$uri$uri/@backendApp;

    }

    ###將所有對(duì)vuejs URL的訪問重定向到index.html文件

    location@backendApp{

    rewrite^.*$/index.htmllast;

    }

    location ~.+.php($|/){

    include fastcgi_params;

    fastcgi_pass unix:/run/php-fpm/php7.0-fpm.sock;

    fastcgi_split_path_info^((?U).+.php)(/?.+)$;

    fastcgi_param PATH_INFO$fastcgi_path_info;

    fastcgi_param PATH_TRANSLATED$root$fastcgi_path_info;

    fastcgi_param SCRIPT_FILENAME$root$fastcgi_script_name;

    }

    }

    4 結(jié)語

    本文主要從組件的選型、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)以及部署實(shí)現(xiàn)三個(gè)方面,詳細(xì)描述基于Vue.JS進(jìn)行后臺(tái)單頁應(yīng)用系統(tǒng)的設(shè)計(jì)工作。對(duì)相關(guān)組件的封裝,并以配置的形式主導(dǎo)功能的開發(fā),在一定程度上減少后臺(tái)系統(tǒng)的前端開發(fā)工作量。利用Vue.JS的雙向綁定特性,高效地將數(shù)據(jù)反映到頁面模型上,同時(shí)Vue.JS更高效地處理頁面DOM操作,提升后臺(tái)應(yīng)用的性能。

    [1]岳曉瑞,陳繼華.HTML5環(huán)境下PJAX快速瀏覽技術(shù)實(shí)踐[J].廣東通信技術(shù),2013.

    [2]鄧森泉,楊海波.Promise方式實(shí)現(xiàn)Node.js應(yīng)用的實(shí)踐[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017.

    [3]喬穎,須德.一種基于角色訪問控制(RBAC)的新模型及其實(shí)現(xiàn)機(jī)制[J].計(jì)算機(jī)研究與發(fā)展,2000.

    曠志光(1991-),男,江西吉安人,初級(jí)工程師,本科,研究方向?yàn)檐浖こ?、云?jì)算、數(shù)據(jù)挖掘

    紀(jì)婷婷(1989-),女,江蘇徐州人,中級(jí)工程師,碩士研究生,研究方向?yàn)榇髷?shù)據(jù)、數(shù)據(jù)挖掘、可視化

    吳小麗(1988-),女,江蘇南通人,初級(jí)工程師,本科,研究方向?yàn)閿?shù)據(jù)庫、軟件工程

    Research and Practice of Single Page Application For Management System Based on Vue.js

    KUANG Zhi-guang,JITing-ting,WU Xiao-li
    (ShanghaiDevelopment Center ofComputer Software Technology,Shanghai 201112)

    By studying Vue.js,router,global state,axios and other components,achieves a single-page application for managementsystem.Realizes the actions which contain APIrequest,justencapsulates the actions and defines the relevantrequestinformation in the configuration file.Also,it will minimize the amount of system code,ensure the unity and robustness of the system.The front page controls the entry of the page files according to the menu policy,and the button levelpermission check according to the page permission controlpolicy.

    Vue.js;MVVM;Single Page Application;RBAC

    上海市軟件技術(shù)創(chuàng)新服務(wù)平臺(tái)(No.17DZ2292100)

    1007-1423(2017)30-0051-05

    10.3969/j.issn.1007-1423.2017.30.011

    2017-08-22

    2017-10-15

    猜你喜歡
    后臺(tái)全局代碼
    Cahn-Hilliard-Brinkman系統(tǒng)的全局吸引子
    量子Navier-Stokes方程弱解的全局存在性
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    落子山東,意在全局
    金橋(2018年4期)2018-09-26 02:24:54
    后臺(tái)暗戀
    前臺(tái)、后臺(tái)精彩花絮停不了
    新思路:牽一發(fā)動(dòng)全局
    91国产中文字幕| 久久久国产一区二区| 18禁裸乳无遮挡免费网站照片 | 免费在线观看日本一区| 不卡一级毛片| 99re6热这里在线精品视频| 久久久久国内视频| 亚洲综合色网址| 男男h啪啪无遮挡| 日韩中文字幕欧美一区二区| 久久久久精品人妻al黑| 精品熟女少妇八av免费久了| 啦啦啦在线免费观看视频4| 亚洲精品成人av观看孕妇| 国产真人三级小视频在线观看| 老司机影院毛片| 一级作爱视频免费观看| 丝袜美足系列| 免费黄频网站在线观看国产| 亚洲av熟女| 老司机午夜福利在线观看视频| 女人爽到高潮嗷嗷叫在线视频| 午夜视频精品福利| 天天添夜夜摸| 777米奇影视久久| 国产免费男女视频| 亚洲片人在线观看| 桃红色精品国产亚洲av| 亚洲色图综合在线观看| www.自偷自拍.com| 99精国产麻豆久久婷婷| 亚洲免费av在线视频| 99久久99久久久精品蜜桃| 91字幕亚洲| 黄色视频不卡| 精品一区二区三区四区五区乱码| 亚洲精品av麻豆狂野| 少妇粗大呻吟视频| 在线天堂中文资源库| 大香蕉久久成人网| 久久人人爽av亚洲精品天堂| xxxhd国产人妻xxx| 色老头精品视频在线观看| 涩涩av久久男人的天堂| 国产成人精品久久二区二区91| 99久久综合精品五月天人人| 国产免费男女视频| 久久精品aⅴ一区二区三区四区| 亚洲欧美一区二区三区黑人| 男女高潮啪啪啪动态图| 丝袜在线中文字幕| 大陆偷拍与自拍| 操美女的视频在线观看| 亚洲午夜精品一区,二区,三区| 欧美av亚洲av综合av国产av| 久久久久久久精品吃奶| 正在播放国产对白刺激| 不卡一级毛片| 日韩三级视频一区二区三区| 免费在线观看黄色视频的| 久久青草综合色| 美女视频免费永久观看网站| 成人免费观看视频高清| 91麻豆av在线| 9热在线视频观看99| 日韩欧美一区视频在线观看| 18禁裸乳无遮挡免费网站照片 | 在线观看免费视频网站a站| 人成视频在线观看免费观看| 黄片播放在线免费| 男人舔女人的私密视频| 日韩熟女老妇一区二区性免费视频| 热99re8久久精品国产| 国产成人免费无遮挡视频| 自线自在国产av| 国产免费现黄频在线看| 可以免费在线观看a视频的电影网站| 两性午夜刺激爽爽歪歪视频在线观看 | 国产在线一区二区三区精| 亚洲av日韩精品久久久久久密| 国产国语露脸激情在线看| 国产男女内射视频| 校园春色视频在线观看| 亚洲avbb在线观看| 搡老岳熟女国产| 日韩欧美三级三区| 叶爱在线成人免费视频播放| 日韩视频一区二区在线观看| av网站免费在线观看视频| 欧美成狂野欧美在线观看| 午夜老司机福利片| 777米奇影视久久| 免费一级毛片在线播放高清视频 | 水蜜桃什么品种好| 欧美黑人欧美精品刺激| 两人在一起打扑克的视频| 国产亚洲精品一区二区www | 久久午夜综合久久蜜桃| 不卡一级毛片| 91av网站免费观看| 最近最新中文字幕大全电影3 | 日韩大码丰满熟妇| 人妻丰满熟妇av一区二区三区 | 成人手机av| 日日夜夜操网爽| 国产精品影院久久| 亚洲五月天丁香| 国产精品永久免费网站| 伊人久久大香线蕉亚洲五| 一个人免费在线观看的高清视频| 多毛熟女@视频| 黄色成人免费大全| 亚洲精品久久成人aⅴ小说| 精品国产一区二区三区四区第35| 国产高清videossex| 精品一区二区三区av网在线观看| 国产成人精品久久二区二区免费| 国产精品久久久久久精品古装| 在线观看免费视频网站a站| 深夜精品福利| 99精品在免费线老司机午夜| 一级毛片高清免费大全| 亚洲av日韩精品久久久久久密| 国内毛片毛片毛片毛片毛片| 中文字幕精品免费在线观看视频| av不卡在线播放| 亚洲五月色婷婷综合| 久久久久国产精品人妻aⅴ院 | 国产不卡av网站在线观看| 日本五十路高清| 久久久久久久国产电影| 999久久久国产精品视频| 丝袜在线中文字幕| 亚洲全国av大片| 国产亚洲一区二区精品| 久久久精品区二区三区| 老司机靠b影院| videosex国产| 成年女人毛片免费观看观看9 | 日韩免费av在线播放| 国产精品一区二区在线观看99| 精品久久蜜臀av无| 成人av一区二区三区在线看| cao死你这个sao货| 少妇猛男粗大的猛烈进出视频| 欧美av亚洲av综合av国产av| 后天国语完整版免费观看| 成人精品一区二区免费| 精品久久久久久,| 久久精品91无色码中文字幕| 亚洲国产欧美网| 国产一区在线观看成人免费| 久99久视频精品免费| 免费在线观看视频国产中文字幕亚洲| 国产精品免费一区二区三区在线 | 亚洲成人免费电影在线观看| 国产精品自产拍在线观看55亚洲 | 国产欧美亚洲国产| 欧美中文综合在线视频| 大型黄色视频在线免费观看| 精品福利永久在线观看| 亚洲 欧美一区二区三区| 极品少妇高潮喷水抽搐| 最近最新免费中文字幕在线| 午夜91福利影院| 亚洲片人在线观看| 一进一出抽搐动态| 777久久人妻少妇嫩草av网站| 老汉色av国产亚洲站长工具| 国产精品免费大片| 中文字幕制服av| 日韩欧美免费精品| xxx96com| 丁香欧美五月| 女警被强在线播放| 亚洲熟女毛片儿| 久久久久久久午夜电影 | 9热在线视频观看99| 精品人妻熟女毛片av久久网站| 精品一区二区三区四区五区乱码| 丰满饥渴人妻一区二区三| 天天添夜夜摸| 中文字幕最新亚洲高清| 国产在线观看jvid| 黄色片一级片一级黄色片| 美女国产高潮福利片在线看| 日韩三级视频一区二区三区| 欧美成人免费av一区二区三区 | 一级片免费观看大全| 精品第一国产精品| 亚洲第一av免费看| 国产成人影院久久av| 亚洲午夜理论影院| 一本一本久久a久久精品综合妖精| 日本撒尿小便嘘嘘汇集6| 一二三四在线观看免费中文在| 亚洲熟妇熟女久久| 国产精品 欧美亚洲| 大型黄色视频在线免费观看| 亚洲五月婷婷丁香| 欧美日韩av久久| 成人免费观看视频高清| 人人澡人人妻人| 精品亚洲成国产av| 欧美日韩一级在线毛片| 亚洲欧美激情在线| 日韩欧美免费精品| 一区二区三区国产精品乱码| 99精品欧美一区二区三区四区| 少妇的丰满在线观看| 亚洲成人免费电影在线观看| 欧美在线一区亚洲| 国产在视频线精品| 久久久久久久午夜电影 | 中文亚洲av片在线观看爽 | 亚洲精品一卡2卡三卡4卡5卡| 国产亚洲欧美在线一区二区| 久久久久久久久免费视频了| videosex国产| 高潮久久久久久久久久久不卡| 久久久久久久午夜电影 | 久久香蕉精品热| 色婷婷久久久亚洲欧美| 18禁国产床啪视频网站| 中文欧美无线码| 色综合婷婷激情| 91字幕亚洲| 女性生殖器流出的白浆| 天天添夜夜摸| 中出人妻视频一区二区| 色婷婷久久久亚洲欧美| 亚洲国产精品sss在线观看 | 精品人妻在线不人妻| 久久天躁狠狠躁夜夜2o2o| av国产精品久久久久影院| av线在线观看网站| 多毛熟女@视频| 国产免费男女视频| 黄网站色视频无遮挡免费观看| 91精品三级在线观看| 热99re8久久精品国产| 欧美人与性动交α欧美软件| 另类亚洲欧美激情| 国产色视频综合| 成人精品一区二区免费| 丁香欧美五月| 中亚洲国语对白在线视频| 中出人妻视频一区二区| 97人妻天天添夜夜摸| 一级a爱片免费观看的视频| 亚洲精品中文字幕一二三四区| 亚洲欧洲精品一区二区精品久久久| 国产精品综合久久久久久久免费 | 国产精品久久电影中文字幕 | 亚洲成av片中文字幕在线观看| 两人在一起打扑克的视频| 欧美国产精品一级二级三级| 亚洲三区欧美一区| 国产精品国产av在线观看| 久9热在线精品视频| 热re99久久国产66热| 久久久精品免费免费高清| 亚洲一区二区三区欧美精品| 看免费av毛片| 新久久久久国产一级毛片| 日本a在线网址| 高清在线国产一区| 天堂俺去俺来也www色官网| 久久久水蜜桃国产精品网| 欧美日韩福利视频一区二区| 欧美不卡视频在线免费观看 | 人妻丰满熟妇av一区二区三区 | 国产一区二区三区在线臀色熟女 | 免费av中文字幕在线| 国产成人欧美| 亚洲精品粉嫩美女一区| 久久久久视频综合| 一区二区三区激情视频| 日韩三级视频一区二区三区| 国产国语露脸激情在线看| 老司机亚洲免费影院| 欧美午夜高清在线| 99热国产这里只有精品6| netflix在线观看网站| 欧美av亚洲av综合av国产av| 亚洲精华国产精华精| 多毛熟女@视频| 美女视频免费永久观看网站| 精品久久久久久久毛片微露脸| 黄色片一级片一级黄色片| 热99国产精品久久久久久7| 人人妻,人人澡人人爽秒播| 午夜亚洲福利在线播放| av一本久久久久| 在线观看免费高清a一片| 久久国产乱子伦精品免费另类| 天堂√8在线中文| 国产色视频综合| 色尼玛亚洲综合影院| 麻豆乱淫一区二区| 国产91精品成人一区二区三区| 成人黄色视频免费在线看| 精品高清国产在线一区| 搡老岳熟女国产| 国产成人影院久久av| 亚洲色图综合在线观看| av天堂在线播放| 久久99一区二区三区| www.熟女人妻精品国产| 久久久久久久国产电影| 免费女性裸体啪啪无遮挡网站| 亚洲成国产人片在线观看| 亚洲午夜精品一区,二区,三区| avwww免费| 久久久久久久久久久久大奶| 99久久综合精品五月天人人| 国产成人免费无遮挡视频| 亚洲五月色婷婷综合| 亚洲国产毛片av蜜桃av| 天堂动漫精品| 婷婷丁香在线五月| 热re99久久精品国产66热6| 露出奶头的视频| 国产aⅴ精品一区二区三区波| 新久久久久国产一级毛片| 亚洲五月天丁香| 一级毛片精品| 在线十欧美十亚洲十日本专区| 久久国产精品男人的天堂亚洲| 亚洲九九香蕉| 久久九九热精品免费| 一级毛片精品| 免费看a级黄色片| 久久性视频一级片| 久久精品亚洲精品国产色婷小说| av在线播放免费不卡| 俄罗斯特黄特色一大片| 国产亚洲欧美98| 欧美不卡视频在线免费观看 | 老司机靠b影院| 露出奶头的视频| 欧美国产精品一级二级三级| 乱人伦中国视频| 叶爱在线成人免费视频播放| 亚洲情色 制服丝袜| 亚洲精品在线观看二区| 又大又爽又粗| 色综合婷婷激情| 他把我摸到了高潮在线观看| 免费在线观看黄色视频的| 国产精品久久久久成人av| 精品国产一区二区三区四区第35| 国产精品久久视频播放| 亚洲av片天天在线观看| 嫩草影视91久久| 午夜亚洲福利在线播放| 大码成人一级视频| 亚洲中文字幕日韩| 天堂动漫精品| 国产极品粉嫩免费观看在线| 一本综合久久免费| av在线播放免费不卡| 国产av又大| 99久久99久久久精品蜜桃| 亚洲成人免费av在线播放| 久久精品国产清高在天天线| 一二三四社区在线视频社区8| 日本一区二区免费在线视频| 天天躁日日躁夜夜躁夜夜| 国产蜜桃级精品一区二区三区 | 丁香六月欧美| 在线观看一区二区三区激情| 狠狠婷婷综合久久久久久88av| 国产男女内射视频| 中文字幕制服av| 中文字幕人妻丝袜制服| √禁漫天堂资源中文www| 黄色 视频免费看| 久久中文字幕一级| 亚洲精品国产色婷婷电影| 亚洲国产欧美日韩在线播放| 国产av精品麻豆| 国产男女内射视频| 大型黄色视频在线免费观看| 叶爱在线成人免费视频播放| 99久久综合精品五月天人人| 国产精品免费视频内射| 午夜福利,免费看| aaaaa片日本免费| 国产精品国产高清国产av | 男人操女人黄网站| 国产精品一区二区免费欧美| 日本黄色视频三级网站网址 | 久久草成人影院| 欧美乱码精品一区二区三区| 免费看a级黄色片| 久久人妻福利社区极品人妻图片| 夜夜夜夜夜久久久久| 亚洲欧美激情在线| 日韩欧美一区视频在线观看| 亚洲av熟女| 人人澡人人妻人| 午夜精品国产一区二区电影| 亚洲成人国产一区在线观看| 美女 人体艺术 gogo| 老熟妇乱子伦视频在线观看| 成年人免费黄色播放视频| 亚洲人成电影免费在线| 美国免费a级毛片| 久热这里只有精品99| 中文字幕人妻熟女乱码| 色老头精品视频在线观看| 深夜精品福利| 欧美亚洲 丝袜 人妻 在线| 国产精品一区二区免费欧美| 天天躁夜夜躁狠狠躁躁| 国产伦人伦偷精品视频| 亚洲精品国产一区二区精华液| 美女国产高潮福利片在线看| 国产一区在线观看成人免费| 91国产中文字幕| 亚洲午夜理论影院| 在线永久观看黄色视频| 在线观看日韩欧美| 欧美精品啪啪一区二区三区| 久久久久久久午夜电影 | 亚洲精品粉嫩美女一区| 国产精品偷伦视频观看了| 国产激情欧美一区二区| 国产男靠女视频免费网站| 亚洲国产精品一区二区三区在线| 日韩欧美在线二视频 | 18禁美女被吸乳视频| 国产激情久久老熟女| 亚洲欧美精品综合一区二区三区| 另类亚洲欧美激情| 麻豆国产av国片精品| 色婷婷久久久亚洲欧美| 日韩成人在线观看一区二区三区| 国内毛片毛片毛片毛片毛片| 国产xxxxx性猛交| 国产精品影院久久| 精品福利永久在线观看| 国产精品亚洲av一区麻豆| 日韩一卡2卡3卡4卡2021年| aaaaa片日本免费| 一级毛片高清免费大全| 黄色女人牲交| 99热网站在线观看| 亚洲欧美激情在线| 精品国产一区二区三区久久久樱花| 国产精品免费大片| 中文字幕制服av| 一级,二级,三级黄色视频| 国产成人精品久久二区二区免费| 精品一品国产午夜福利视频| 国产精品成人在线| 在线观看免费高清a一片| 天天影视国产精品| 大香蕉久久成人网| 天天躁日日躁夜夜躁夜夜| 午夜福利乱码中文字幕| 国产区一区二久久| 纯流量卡能插随身wifi吗| 欧美日韩成人在线一区二区| 色老头精品视频在线观看| 高清黄色对白视频在线免费看| 成人18禁高潮啪啪吃奶动态图| 伊人久久大香线蕉亚洲五| 国产成人精品无人区| 国产1区2区3区精品| 99热只有精品国产| 色综合欧美亚洲国产小说| 精品人妻1区二区| 青草久久国产| 热re99久久国产66热| 18禁国产床啪视频网站| 十分钟在线观看高清视频www| 亚洲精品国产区一区二| 男女下面插进去视频免费观看| 一级毛片高清免费大全| 19禁男女啪啪无遮挡网站| 免费在线观看日本一区| 亚洲片人在线观看| 亚洲一区高清亚洲精品| 天天躁夜夜躁狠狠躁躁| 超色免费av| 欧美激情久久久久久爽电影 | 亚洲成国产人片在线观看| 国产欧美日韩一区二区三区在线| 18在线观看网站| 超碰成人久久| 久久国产精品大桥未久av| 黄片播放在线免费| 欧美精品亚洲一区二区| 黄色视频,在线免费观看| 精品少妇久久久久久888优播| 国产精品久久久人人做人人爽| 首页视频小说图片口味搜索| 女人被躁到高潮嗷嗷叫费观| 久久天躁狠狠躁夜夜2o2o| 又黄又爽又免费观看的视频| 免费女性裸体啪啪无遮挡网站| 91在线观看av| av有码第一页| 精品国内亚洲2022精品成人 | 国产成人精品无人区| 咕卡用的链子| 欧美日韩中文字幕国产精品一区二区三区 | 制服人妻中文乱码| 亚洲精品久久成人aⅴ小说| 在线av久久热| 婷婷精品国产亚洲av在线 | 亚洲成人免费电影在线观看| 免费人成视频x8x8入口观看| 757午夜福利合集在线观看| 亚洲一码二码三码区别大吗| 亚洲欧美精品综合一区二区三区| a级毛片在线看网站| 亚洲国产精品合色在线| 天堂中文最新版在线下载| 亚洲精品av麻豆狂野| 国产亚洲欧美在线一区二区| 日日摸夜夜添夜夜添小说| 亚洲av美国av| 国产成人啪精品午夜网站| 国产不卡一卡二| 校园春色视频在线观看| 免费黄频网站在线观看国产| 无人区码免费观看不卡| 黄色 视频免费看| 久久性视频一级片| 亚洲精品成人av观看孕妇| 这个男人来自地球电影免费观看| 欧美性长视频在线观看| 男女之事视频高清在线观看| 超碰成人久久| 大型av网站在线播放| 欧美 亚洲 国产 日韩一| 久久国产精品大桥未久av| 欧美乱码精品一区二区三区| 狠狠婷婷综合久久久久久88av| 亚洲一区中文字幕在线| cao死你这个sao货| 国产精品99久久99久久久不卡| 欧美在线一区亚洲| 免费日韩欧美在线观看| 久久99一区二区三区| 老司机深夜福利视频在线观看| 国产精品自产拍在线观看55亚洲 | 搡老岳熟女国产| 婷婷丁香在线五月| 国产真人三级小视频在线观看| 国产成人av教育| 国产欧美日韩一区二区三区在线| 欧美成狂野欧美在线观看| 精品国产亚洲在线| 桃红色精品国产亚洲av| 女同久久另类99精品国产91| 大香蕉久久成人网| 天堂俺去俺来也www色官网| 制服诱惑二区| 久久久久久人人人人人| 操出白浆在线播放| 91字幕亚洲| bbb黄色大片| 一进一出抽搐gif免费好疼 | 亚洲精品自拍成人| 在线观看www视频免费| 国产精品成人在线| 身体一侧抽搐| 69精品国产乱码久久久| 成人国产一区最新在线观看| 久久久国产成人精品二区 | 欧美黄色片欧美黄色片| 啦啦啦在线免费观看视频4| 视频区欧美日本亚洲| 在线观看免费高清a一片| 十八禁网站免费在线| 国产成人av激情在线播放| 日韩欧美三级三区| 制服人妻中文乱码| 国产精品国产av在线观看| 久久久久国产一级毛片高清牌| 亚洲国产毛片av蜜桃av| 夜夜夜夜夜久久久久| 亚洲精品在线观看二区| 美女 人体艺术 gogo| 男人舔女人的私密视频| 日韩有码中文字幕| 精品电影一区二区在线| aaaaa片日本免费| 天天影视国产精品| 午夜久久久在线观看| avwww免费| 高清在线国产一区| 久久中文看片网| 亚洲国产中文字幕在线视频| 国产蜜桃级精品一区二区三区 | 久久久国产欧美日韩av| 中出人妻视频一区二区| 精品一品国产午夜福利视频| 成人18禁高潮啪啪吃奶动态图| 深夜精品福利| 午夜日韩欧美国产| 亚洲av日韩精品久久久久久密| 欧美最黄视频在线播放免费 | 亚洲欧美日韩另类电影网站| 一边摸一边抽搐一进一小说 | 久久久久久久久久久久大奶| 亚洲欧美日韩另类电影网站| 国产av又大| 久久人人97超碰香蕉20202| 亚洲人成伊人成综合网2020| 精品亚洲成国产av|