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

    基于Lizard框架Ctrip Wireless H5數(shù)據(jù)存儲方式的優(yōu)化

    2016-09-26 08:27:26杜燕忍葛華勇
    關(guān)鍵詞:攜程調(diào)用瀏覽器

    杜燕忍,葛華勇,王 龍

    (東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)

    ?

    基于Lizard框架Ctrip Wireless H5數(shù)據(jù)存儲方式的優(yōu)化

    杜燕忍,葛華勇,王龍

    (東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)

    Lizard是針對目前前端開源框架中存在的不足,由攜程研發(fā)出的適用于無線移動端開發(fā)的框架。Lizard Web App是運行在瀏覽器上的單頁應(yīng)用,所有加載資源都放在一個html文件上,所有的用戶交互都交給JavaScript,所有的通信都交給Ajax。該文基于Lizard框架實現(xiàn)Hybrid App(混合模式移動應(yīng)用)的開發(fā),并針對框架中本地存儲方式進行改進,由此提出了擴展store的存儲方式。以多態(tài)方式封裝store,由LocalStorage、IndexDB、SQLite by App替換cookie,進而支持多種本地存儲方式,該文只是針對其中一種方式即LocalStorage進行封裝,以提高攜程業(yè)務(wù)開發(fā)效率。

    Lizard;Hybrid App;JavaScript;Web App;HTML;Ajax;數(shù)據(jù)存儲方式;無線移動端開發(fā)

    引用格式:杜燕忍,葛華勇,王龍. 基于Lizard框架Ctrip Wireless H5數(shù)據(jù)存儲方式的優(yōu)化[J].微型機與應(yīng)用,2016,35(11):14-17,21.

    0 引言

    近年來國內(nèi)外對Native App取得了很多重要的研究成果,但是對Hybrid App研究還比較少?;旌夏J揭苿討?yīng)用(Hybrid App)是指介于Web App與Native App這兩者之間的App[1],它雖然看上去是一個Native App,但只有一個UI WebView,里面訪問的是一個Web App,它具有Native App良好用戶交互體驗的優(yōu)勢和Web App[2]跨平臺開發(fā)的優(yōu)勢。

    隨著HTML5[3-4]可通過手機瀏覽器運行,而不直接依賴于手機操作系統(tǒng),并且現(xiàn)在各大手機瀏覽器均支持HTML5[5];Mobile phone中框架的發(fā)展(例如PhoneGap)也為Web App的發(fā)展提供了契機。主流的Hybrid方案分成三種:以PhoneGap[6]為代表,以WebView作為用戶界面層,以Javascript[7-8]作為基本邏輯,與中間件通信,再由中間件訪問底層API的方式進行應(yīng)用開發(fā);以Titanium為代表,通過對開發(fā)者提供友好的開發(fā)工具,并折中地把這種開發(fā)語言轉(zhuǎn)換成原生語言,最終打包出整個應(yīng)用;以Three20為代表,在開發(fā)原生應(yīng)用的基礎(chǔ)上,嵌入WebView,但是整體的架構(gòu)使用原生應(yīng)用提供。在攜程無線[9]的Hybrid框架中,一開始就選擇了PhoneGap方案,未來攜程App會成為一個平臺。

    本文基于Lizard框架[10]實現(xiàn)Hybrid App的開發(fā),針對原有框架中的本地存儲方式和第三方框架的引用進行改進和優(yōu)化,并對改進的方法進行實際項目開發(fā),結(jié)果與改進之前的結(jié)果一樣符合開發(fā)項目的要求,驗證了本方法的有效性。

    1 Ctrip Wireless H5整體架構(gòu)圖

    H5整體架構(gòu)圖如圖1所示。由整體框架可知,無線H5基礎(chǔ)框架主要包含以下部分,各業(yè)務(wù)模塊需按要求對以下部分進行統(tǒng)一引用。

    圖1 H5整體框架

    (1)第三方框架:zepto、backbone、require、understore等需要統(tǒng)一引用。

    (2)核心框架:Common.js,提供最基礎(chǔ)的UI、網(wǎng)絡(luò)通信(ajax)、數(shù)據(jù)存儲(cookie)等基類,以及UI組件、Widget組件、Hybrid-API等組件,需要統(tǒng)一引用。

    (3)H5公共基礎(chǔ)樣式:Main.css,提供最基礎(chǔ)和公共樣式,需要統(tǒng)一引用。

    (4)H5公共業(yè)務(wù)組件:各類通用的業(yè)務(wù)組件,比如常旅客、常用地址,需要統(tǒng)一引用。

    (5)H5公共業(yè)務(wù)模塊攜程(登錄/注冊)、支付等業(yè)務(wù)模塊,需要統(tǒng)一引用。

    2 Lizard框架

    2.1框架簡介

    Lizard框架架構(gòu)如圖2所示,Ctrip.H5.Lizard主要由4個模塊構(gòu)成:第三方框架、核心框架、公共組件庫、業(yè)務(wù)組件庫。

    (1)第三方框架:Ctrip.H5.Lizard底層依賴的第三方庫有4個:Zepto、underscore、backbone和Fastclick。

    在Mobile端,Ctrip.H5.Lizard會加載Zepto,在PC端考慮到兼容性的問題,IE內(nèi)核瀏覽器會采用Jquery,Ctrip.H5.Lizard可以做到對環(huán)境自適應(yīng)進行加載。

    Backbone在Ctrip.H5.Lizard是被定制的,其MVC框架中的Model和Controller的內(nèi)容根據(jù)Ctrip.H5.Lizard適用的環(huán)境被復(fù)寫。

    Ctrip.H5.Lizard抽取了Fastclick的核心代碼,復(fù)寫了移動端的click事件。

    (2)核心框架:Ctrip.H5.Lizard實現(xiàn)了Web App的基礎(chǔ)功能。

    在Javascript[11-14]中實現(xiàn)了面向?qū)ο缶幊?OOP)的基礎(chǔ),封裝了Ajax請求,處理了本地環(huán)境下的跨域訪問,并對請求做了緩存處理,通過監(jiān)控Hash的變化,實現(xiàn)View的無縫切換。

    (3)公共組件庫:Ctrip.H5.Lizard的公共組件庫涵蓋了UI組件庫和Widget組件庫兩個模塊組。

    UI組件庫以特定的樣式表為基礎(chǔ),定制Ctrip Mobile的UI組件,實現(xiàn)了各種交互-電話、時間選取等,Widget組件庫提供了功能性組件庫和UI業(yè)務(wù)組件庫。

    (4)業(yè)務(wù)組件庫:Ctrip.H5.Lizard的業(yè)務(wù)組件庫主要包括攜程(登錄/注冊)、支付等業(yè)務(wù)。

    2.2Lizard算法流程

    Lizard算法流程圖如圖3所示,Lizard渲染數(shù)據(jù)共分成5個階段:T1~T5。T1:頁面響應(yīng)時間。此時,用戶通過瀏覽器發(fā)起一個請求,當(dāng)前VIEW的HTML文件返回index.html給瀏覽器,瀏覽器接收到index.html開始解析,之后瀏覽器請求核心框架JS處理。Lizard.js收到請求,此時進入T2階段,即數(shù)據(jù)通信請求階段。Lizard.js返回核心框架中的JS文件給瀏覽器,瀏覽器收到核心框架中JS傳來的數(shù)據(jù),開始解析Model Config,根據(jù)Config中的API請求SOA數(shù)據(jù),SOA收到瀏覽器的數(shù)據(jù)請求,此時進入T3階段,即數(shù)據(jù)通信接收階段。SOA返回數(shù)據(jù)給瀏覽器,瀏覽器接收到SOA的數(shù)據(jù),此時T3階段完成,T4階段開始,瀏覽器根據(jù)接收到的SOA數(shù)據(jù),開始解析Template,此時DOM生成,但是其為隱藏狀態(tài),此時瀏覽器繼續(xù)發(fā)送請求給核心JS框架,T4階段完成。此階段又可以稱作DOM穩(wěn)定階段。JS中的核心框架收到瀏覽器的頁面邏輯請求開始進行處理,此時進入T5階段,即頁面顯示階段。JS返回處理的結(jié)果給瀏覽器,瀏覽器收到結(jié)果顯示DOM,展示頁面,T5階段完成。其中T1~T4又稱作DOM準備階段,T2~T3稱為通信準備階段,整個T1~T5又叫做Onload階段。Onload是Lizard渲染頁面階段中的View生命周期的一部分。

    3 Lizard Web App 中View的生命周期

    首先,View的生命周期與攜程無線Hybrid密不可分,在一個Hybrid架構(gòu)的頁面會有兩部分組成:Head和Content。Head是由App提供的Android/IOS原生組件,對應(yīng)IOS-NavigationBar/Android-ActionBar。Content由App提供的WebView加載H5提供的頁面,H5與App約定將一組API綁定在WebView的Window對象中。App通過IOS/Android原生方法調(diào)用到Window對象,執(zhí)行js的方法,這稱之為App Native調(diào)用Web。App實現(xiàn)對WebView URL的觀察者模式,H5通過改變URL的哈希值,App會通過解析哈希值的變化執(zhí)行對應(yīng)的操作,這稱之為Web調(diào)用App Native。Lizard支持Hybrid模式,而Lizard在對Hybrid的設(shè)計中,采用了切面編程的思想。Web與Hybrid最后的產(chǎn)品差異就在于入口文件,在入口文件中,會去做初始化,判斷當(dāng)前的環(huán)境,然后以當(dāng)前環(huán)境作為參數(shù),配置相應(yīng)的設(shè)置,切換各種服務(wù)在不同環(huán)境下的配置。所以從開發(fā)者的角度來說,不用關(guān)心當(dāng)前的環(huán)境是Web還是App,只需要調(diào)用相應(yīng)的服務(wù)即可,剩下的事情交給Lizard自身就可以。

    圖2 Lizard框架架構(gòu)

    圖3 Lizard算法架構(gòu)

    其次,Lizard中頁面的整體布局代碼如下:

    define(['libs', 'cBasePageView'], function (libs, BasePageView){

    var viewhtml = '';

    var View = BasePageView.extend({

    onCreate: function () {

    this.MYMel.html(viewhtml);

    }

    onLoad: function () {

    this.turning();

    }

    onShow: function () {

    }

    onHide: function () {

    }

    });

    return View;

    });

    在該代碼中顯示了View的4個生命周期回調(diào)順序。

    onCreate -> onLoad -> onShow -> onHide

    (1)onCreate

    onCreate是只有在view生成時才會調(diào)用的回調(diào)。在這個回調(diào)中,一般處理View的模板構(gòu)建、初始化數(shù)據(jù)設(shè)置。onCreate只會在初始化時候執(zhí)行一次,第二次訪問不會執(zhí)行。

    (2)onLoad

    onCreate每次調(diào)用View時都會首先調(diào)用的回調(diào)方法。在該回調(diào)中需要處理數(shù)據(jù)請求、View的數(shù)據(jù)綁定、渲染和View的交互邏輯設(shè)置。onLoad的回調(diào)中需要執(zhí)行this.turning()才會宣告view的加載完成,進入到下一個生命周期onShow,onLoad在每次切換View時都會執(zhí)行,一般在onload中進行Ajax異步數(shù)據(jù)請求,請求suceess后調(diào)用turning方法從而觸發(fā)onShow事件。

    (3)onShow

    onShow是新DOM完成渲染之后進入頁面的回調(diào),部分依賴頁面渲染之后的業(yè)務(wù)邏輯可以綁定在這個回調(diào)中,onShow的執(zhí)行時機為調(diào)用turning之后,不調(diào)用turning不會執(zhí)行onShow。

    (4)onHide

    當(dāng)頁面執(zhí)行了從A頁面跳轉(zhuǎn)到B頁面時,A頁面會執(zhí)行hide方法,將View A推到后臺。onHide就是在A推到后臺之后的回調(diào)。

    4 改進數(shù)據(jù)存儲方式

    在一個應(yīng)用中數(shù)據(jù)的存儲是非常重要的功能,在攜程的應(yīng)用場景中,大量基礎(chǔ)數(shù)據(jù)會被緩存下來,比如城市列表、用戶使用歷史等信息。在Web 2.0時代,Web存儲呈現(xiàn)多樣化的趨勢,除了傳統(tǒng)的cookie,HTML5提供了LocalStorage、SessionStorage、ApplicationCache等存儲方案,同時Chrome還支持IndexDB。cookie操作在前端開發(fā)過程中經(jīng)常遇到,當(dāng)然如果只是用來存儲一些簡單的用戶數(shù)據(jù),還是比較容易的,要做的可能只是設(shè)置cookie名、值、過期時間等,讀取也只要根據(jù)cookie的名讀取相應(yīng)的cookie值即可。HTML5本地存儲的前身就是cookie,HTML5的本地存儲是使用LocalStorage對象將Web數(shù)據(jù)持久化在本地。相比較而言,HTML5本地存儲中每個域的存儲大小默認是5 MB,比起cookie的4 KB要大得多。因此,HTML5本地存儲可以看做是加強版的cookie,不受數(shù)據(jù)大小限制,有更好的彈性以及架構(gòu),可以將數(shù)據(jù)寫入到本機的ROM中,還可以在關(guān)閉瀏覽器之后再次打開時恢復(fù)數(shù)據(jù),以減少網(wǎng)絡(luò)流量。同時,這個功能算得上是另一個方向的后臺“操作記錄”,而不占用任何后臺資源,減輕硬件設(shè)備壓力,增強運行流暢性,而且存儲和讀取數(shù)據(jù)的代碼極為簡練。因此在Lizard框架中采用了LocalStorage作為解決方案。同時參考redis在本地實現(xiàn)了小型的文檔型數(shù)據(jù)庫。

    在store中針對LocalStorage封裝了常用的方法,比如get(tag,oldFlag)獲取已存儲數(shù)據(jù)、getAttr(attrName,tag)獲取已存儲對象的屬性、set(value,tag,{oldVal})向store中添加數(shù)據(jù)、setAttr(attrName, attrVal,tag)設(shè)置屬性值、remove()移除數(shù)據(jù)存儲、removeAttr(attrName)移除指定對象的存儲屬性、setExpireTime(time)設(shè)置過期時間、setLifeTime(lifeTime,override)設(shè)置當(dāng)前對象的過期時間。

    數(shù)據(jù)存儲的整個過程如下:

    (1)創(chuàng)建storage項目。

    (2)cStore模塊的引用:Lizard用cStore模塊封裝了LocalStorage的CURD操作,所以在使用數(shù)據(jù)存儲時,需要引入cStore模塊。Lizard采用require.js作為模塊加載器,所以在使用時需要顯示申明依賴關(guān)系。引用代碼如下:

    (3)Store的繼承:Lizard實現(xiàn)了Javascript的OOP開發(fā),為代碼的復(fù)用提供了更好的機制。在Store的一般使用中,推薦將具體的Store繼承于cStore模塊,代碼如下:

    var StoreCase = new Base.Class(Store, {

    __propertys__: function () {

    //設(shè)置在LocalStorage中的key值

    //D代表天,H代表小時,M代表分鐘,S代表秒

    }

    initialize: function (MYMsuper, options) {

    MYMsuper(options);

    }

    });

    Store采用單例模式,所以需要通過StoreCase.getInstance()獲得,即var storeinstance = StoreCase.getInstance()。

    (4)Store的增刪改讀:首先設(shè)置view模板,其次進行綁定操作。Store提供了3個接口做綁定操作:讀取Store.read(tag),設(shè)置/更新Store.set({...}),刪除Store.remove()。

    (5)設(shè)置數(shù)據(jù)的過期時間:對于過期時間的處理,在內(nèi)部實現(xiàn)中參考redis的數(shù)據(jù)結(jié)構(gòu),本文設(shè)置了數(shù)據(jù)的過期時間。在LocalStorage中數(shù)據(jù)結(jié)構(gòu)如下:

    "value":{

    "inputvalue":"asdfaf"

    }

    "oldvalue":{

    }

    "timeout":"2015/12/19 15:38:37",

    "savedate":"2015/12/19 15:08:37"

    通過對LocalStorage的封裝,可以直接在開發(fā)時通過Lizard調(diào)用,使開發(fā)效率更快。

    5 結(jié)束語

    基于Lizard框架的無線開發(fā),是針對前端開發(fā)人員常用的一些方法、功能、組件等進行的一系列封裝,提高了開發(fā)人員的工作效率。本文首先對Lizard框架的架構(gòu)以及工作原理進行簡單闡述,并針對Lizard框架中本地存儲方式進行了優(yōu)化,在store中封裝了對LocalStorage的讀寫,實現(xiàn)了在Web上的本地緩存。其次,通過對LocalStorage的封裝,cookie與store中的LocalStorage兩種本地存儲方式可以同時使用,更加方便。最后,正如文中所提到的一樣,存儲方式還有很多,諸如IndexDB、SQLite by App等都是以后技術(shù)發(fā)展的需要。

    [1] 萬曉鳳,雷繼棠,易其軍,等.基于Android智能手機平臺的AMT監(jiān)測系統(tǒng)的設(shè)計[J].電子技術(shù)應(yīng)用,2014,40(3):68-70.

    [2] 朱華.AJAX在WEB開發(fā)中的應(yīng)用研究[D].哈爾濱:哈爾濱工程大學(xué),2009.

    [3] 陶國榮.HTML5實戰(zhàn)[M].北京:機械工業(yè)出版社,2012.

    [4] cyRotel.WEB APP,HYBRID APP與NATIVE APP的設(shè)計差異[DB/OL].(2013-2-19)[2015-08-25].http://www.uisdc.com/web-hybrid-native-app,2014-12-02.

    [5] 劉艷平,俞海英.基于HTML5的Application Cache技術(shù)研究[J].微型機與應(yīng)用,2015, 34 (20):64-66.

    [6] PhoneGap.API介紹[EB/OL]. (2000-01-18)[2016-01-05].http://www.phonegapcn.com/docs/zh/cn/.

    [7] NICHOLAS.JavaScript高級程序設(shè)計[M].北京:人民郵電出版社,2006.

    [8] 徐浩,周德華,廠卓,等.面向多終端適配的移動中間件的設(shè)計與實現(xiàn)[J].計算機科學(xué)現(xiàn)代化,2011(9):65-68.

    [9] 劉妍.無線產(chǎn)品部的無線技術(shù)標(biāo)準及指南[DB/OL].(2014-12-08)[2016-01-05].http://conf.ctripcorp.com/display/Wireless/3.HTML5.

    [10] 劉妍.Lizard框架[DB/OL].(2014-12-19) [2015-04-15]. http://svn.ui.sh.ctripcorp.com/lizard/2.1/doc/index.html,2014-1-25.

    [11] FLANAGAN D. JavaScript權(quán)威指南[M].李強,譯.北京:機械工業(yè)出版社,2007.

    [12] KEITH J. JavaScript DOM 編程藝術(shù)[M].楊濤,王建橋,楊曉去,等,譯.北京:人民郵電出版社,2006.

    [13] POWERS S, JavaScript經(jīng)典實例[M].李強,譯.北京:中國電力出版社,2012.

    [14] CROCKFORD D. JavaScript 語言精粹[M].趙澤欣,鄢學(xué)鹍,譯.北京:電子工業(yè)出版社,2009.

    Optimization of Ctrip Wireless H5 data storage based on Lizard framework

    Du Yanren, Ge Huayong, Wang Long

    (School of Information Science and Technology, Donghua University, Shanghai 201620, China)

    Lizard is aimed at the present situation of the open source framework, applicable to wireless mobile development framework terminal by Ctrip. Lizard Web App is running in a Single Page on the Web browser Application (Single Page Application).We can put all loading resource on an HTML file. JavaScript can handle all user interaction. All communications are handled by Ajax. This article is based on the Lizard to realize Hybrid App (mixed mode mobile application) development, and improves the local store that has some problems in the Lizard.Thus we put forward a new improvement scheme that extended store way of storage, packaged store in polymorphic way.To support multiple localstorage methods we can replace cookie by LocalStorage,IndexDB,SQLite by App.

    Lizard;Hybrid App;JavaScript;Web App;HTML;Ajax;data storage; wireless mobile development

    TP311.1

    A

    10.19358/j.issn.1674- 7720.2016.11.005

    2016-02-15)

    杜燕忍(1990-),男,碩士研究生,主要研究方向:物聯(lián)網(wǎng)。

    葛華勇(1976-),女,博士,副教授,碩士生導(dǎo)師,主要研究方向:信號與圖像處理。

    王龍(1988-),男,本科,主要研究方向:無線開發(fā)。

    猜你喜歡
    攜程調(diào)用瀏覽器
    攜程梁建章:從學(xué)者企業(yè)家到百變“COSER”
    時代郵刊(2021年8期)2021-07-21 07:52:32
    核電項目物項調(diào)用管理的應(yīng)用研究
    反瀏覽器指紋追蹤
    電子制作(2019年10期)2019-06-17 11:45:14
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    攜程被批“捆綁銷售” 公司緊急整改
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    環(huán)球瀏覽器
    再見,那些年我們嘲笑過的IE瀏覽器
    攜程+ 去哪兒= ?
    利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
    美女福利国产在线| 在线观看免费日韩欧美大片| 亚洲欧美一区二区三区久久| 免费在线观看完整版高清| 电影成人av| 777米奇影视久久| 波多野结衣av一区二区av| 在线观看免费午夜福利视频| 韩国高清视频一区二区三区| 免费观看av网站的网址| 少妇裸体淫交视频免费看高清 | 中文乱码字字幕精品一区二区三区| 亚洲精品自拍成人| 在线观看www视频免费| 麻豆国产av国片精品| 丰满饥渴人妻一区二区三| 波多野结衣一区麻豆| 国产精品久久久久久精品古装| 欧美精品一区二区免费开放| 国产视频一区二区在线看| 大香蕉久久成人网| 国产黄色免费在线视频| 黑丝袜美女国产一区| 青春草视频在线免费观看| 亚洲精品在线美女| 亚洲av片天天在线观看| 中文精品一卡2卡3卡4更新| 国产一区二区激情短视频 | 久久久国产一区二区| 国产主播在线观看一区二区 | 日韩制服丝袜自拍偷拍| 亚洲av成人精品一二三区| 亚洲欧美清纯卡通| 在线观看免费视频网站a站| 色综合欧美亚洲国产小说| 80岁老熟妇乱子伦牲交| 9色porny在线观看| 女人久久www免费人成看片| 亚洲国产最新在线播放| 在线看a的网站| 狂野欧美激情性bbbbbb| 欧美成狂野欧美在线观看| 国产欧美日韩一区二区三区在线| 老司机午夜十八禁免费视频| 日韩视频在线欧美| 亚洲欧洲精品一区二区精品久久久| 中文字幕人妻丝袜一区二区| 国产成人免费无遮挡视频| 久久中文字幕一级| 久久久久国产精品人妻一区二区| 在线观看免费日韩欧美大片| 999久久久国产精品视频| 在线av久久热| 久久久精品免费免费高清| 精品一区二区三区av网在线观看 | 99精国产麻豆久久婷婷| 成年人午夜在线观看视频| 国产黄频视频在线观看| 成年av动漫网址| 久久这里只有精品19| 精品视频人人做人人爽| 久久热在线av| 精品国产一区二区三区久久久樱花| 国产片特级美女逼逼视频| 久久九九热精品免费| 国产亚洲精品第一综合不卡| 国产精品三级大全| 国产在线视频一区二区| 2021少妇久久久久久久久久久| 亚洲五月婷婷丁香| 欧美亚洲日本最大视频资源| e午夜精品久久久久久久| 另类亚洲欧美激情| 黑人猛操日本美女一级片| 欧美97在线视频| 国产成人av激情在线播放| 亚洲九九香蕉| 国产亚洲一区二区精品| 国产精品秋霞免费鲁丝片| avwww免费| 免费一级毛片在线播放高清视频 | 三上悠亚av全集在线观看| 婷婷丁香在线五月| 19禁男女啪啪无遮挡网站| 一边摸一边抽搐一进一出视频| 波多野结衣一区麻豆| 青春草视频在线免费观看| 国产av国产精品国产| 我的亚洲天堂| 久久人人爽av亚洲精品天堂| 亚洲综合色网址| 久久精品久久久久久噜噜老黄| 久久精品成人免费网站| 亚洲精品日韩在线中文字幕| 国产日韩欧美在线精品| 丝袜美足系列| 两性夫妻黄色片| 精品视频人人做人人爽| 9191精品国产免费久久| 国产精品成人在线| 男女无遮挡免费网站观看| 国产成人精品久久二区二区免费| 久久精品成人免费网站| 天天影视国产精品| 国产av一区二区精品久久| 男女午夜视频在线观看| 亚洲精品中文字幕在线视频| 欧美日韩精品网址| 我要看黄色一级片免费的| 黄色毛片三级朝国网站| 午夜激情久久久久久久| 精品国产乱码久久久久久男人| 好男人电影高清在线观看| 欧美日韩视频高清一区二区三区二| 母亲3免费完整高清在线观看| 极品少妇高潮喷水抽搐| 国精品久久久久久国模美| 免费高清在线观看视频在线观看| 精品视频人人做人人爽| 精品久久久精品久久久| 国产欧美日韩综合在线一区二区| 18禁国产床啪视频网站| 又黄又粗又硬又大视频| 黄色片一级片一级黄色片| 国产成人一区二区在线| 狂野欧美激情性bbbbbb| 一级片'在线观看视频| 成人亚洲欧美一区二区av| 欧美 日韩 精品 国产| 亚洲情色 制服丝袜| 中国美女看黄片| 免费黄频网站在线观看国产| 亚洲欧美日韩高清在线视频 | 久久久久精品国产欧美久久久 | 一级黄片播放器| 日韩一区二区三区影片| 国产亚洲欧美精品永久| 大陆偷拍与自拍| 老熟女久久久| 真人做人爱边吃奶动态| 日本午夜av视频| 在线精品无人区一区二区三| 亚洲熟女毛片儿| 久久久精品94久久精品| 国产精品久久久久久人妻精品电影 | 欧美乱码精品一区二区三区| 日本色播在线视频| 人人妻人人爽人人添夜夜欢视频| 一级a爱视频在线免费观看| 久久久国产一区二区| 国产福利在线免费观看视频| 午夜福利视频在线观看免费| 一级毛片我不卡| 女人精品久久久久毛片| 国产精品av久久久久免费| 乱人伦中国视频| 精品少妇内射三级| 视频区图区小说| 亚洲成色77777| av线在线观看网站| 91精品伊人久久大香线蕉| 国产极品粉嫩免费观看在线| 亚洲中文av在线| 在线观看人妻少妇| 久久精品久久精品一区二区三区| 如日韩欧美国产精品一区二区三区| 欧美黄色片欧美黄色片| 精品国产超薄肉色丝袜足j| 精品第一国产精品| 在线观看免费日韩欧美大片| 免费在线观看完整版高清| 亚洲精品中文字幕在线视频| 亚洲精品久久午夜乱码| 亚洲熟女精品中文字幕| 国产在线免费精品| 欧美+亚洲+日韩+国产| 99久久99久久久精品蜜桃| 一级毛片 在线播放| 51午夜福利影视在线观看| 久久国产精品男人的天堂亚洲| 女人爽到高潮嗷嗷叫在线视频| 首页视频小说图片口味搜索 | 黑人欧美特级aaaaaa片| 波多野结衣一区麻豆| 国产免费现黄频在线看| av天堂在线播放| 欧美 亚洲 国产 日韩一| 亚洲国产中文字幕在线视频| 久久久亚洲精品成人影院| 亚洲视频免费观看视频| 国产亚洲欧美在线一区二区| 狠狠婷婷综合久久久久久88av| 国产成人精品久久久久久| 大型av网站在线播放| 久久免费观看电影| 日韩大码丰满熟妇| 天天添夜夜摸| 久久久精品免费免费高清| 老司机靠b影院| 日韩免费高清中文字幕av| 久久久国产一区二区| 亚洲av在线观看美女高潮| 99九九在线精品视频| 大码成人一级视频| 汤姆久久久久久久影院中文字幕| 九草在线视频观看| 欧美日本中文国产一区发布| 免费女性裸体啪啪无遮挡网站| 亚洲国产精品一区二区三区在线| 天天躁夜夜躁狠狠久久av| 青草久久国产| 女警被强在线播放| 国产一区亚洲一区在线观看| 日韩大片免费观看网站| 在线观看免费日韩欧美大片| 纵有疾风起免费观看全集完整版| 欧美人与善性xxx| 国产野战对白在线观看| 亚洲精品第二区| 丝袜美足系列| www.熟女人妻精品国产| 亚洲欧洲国产日韩| cao死你这个sao货| 亚洲,欧美精品.| 91成人精品电影| 丰满饥渴人妻一区二区三| netflix在线观看网站| 亚洲欧洲日产国产| 人人妻人人澡人人看| 精品福利永久在线观看| 亚洲精品美女久久av网站| 国产又爽黄色视频| 亚洲av综合色区一区| 亚洲自偷自拍图片 自拍| 两个人看的免费小视频| 首页视频小说图片口味搜索 | 天天躁日日躁夜夜躁夜夜| 国产高清国产精品国产三级| 日本vs欧美在线观看视频| 视频在线观看一区二区三区| 成人免费观看视频高清| 日韩精品免费视频一区二区三区| 中文字幕制服av| 曰老女人黄片| 免费一级毛片在线播放高清视频 | 大陆偷拍与自拍| 亚洲第一青青草原| 天天躁狠狠躁夜夜躁狠狠躁| 国产无遮挡羞羞视频在线观看| 国产精品久久久久成人av| 午夜日韩欧美国产| 亚洲成人免费av在线播放| 免费观看人在逋| 欧美激情 高清一区二区三区| 丝袜喷水一区| 少妇粗大呻吟视频| 黄色视频在线播放观看不卡| 男男h啪啪无遮挡| 国产精品一区二区在线不卡| 亚洲精品乱久久久久久| 免费观看a级毛片全部| 一级片免费观看大全| 最近中文字幕2019免费版| 黄片小视频在线播放| 美女中出高潮动态图| 丝瓜视频免费看黄片| 麻豆乱淫一区二区| 欧美人与性动交α欧美软件| 精品少妇久久久久久888优播| www.精华液| 一本—道久久a久久精品蜜桃钙片| 国产精品一国产av| 日韩av在线免费看完整版不卡| 人体艺术视频欧美日本| 久久鲁丝午夜福利片| 国产精品国产av在线观看| tube8黄色片| 老熟女久久久| 国产高清视频在线播放一区 | 亚洲精品av麻豆狂野| 国产高清国产精品国产三级| 色综合欧美亚洲国产小说| 日韩一卡2卡3卡4卡2021年| 婷婷色综合大香蕉| 亚洲精品日韩在线中文字幕| 国产成人精品久久二区二区91| 成人亚洲欧美一区二区av| 在线天堂中文资源库| 亚洲,欧美精品.| 国产精品久久久人人做人人爽| 国产真人三级小视频在线观看| 人人妻,人人澡人人爽秒播 | 搡老岳熟女国产| 丁香六月天网| 91字幕亚洲| 亚洲国产欧美日韩在线播放| 麻豆乱淫一区二区| 水蜜桃什么品种好| 又黄又粗又硬又大视频| 亚洲国产最新在线播放| 精品高清国产在线一区| 高清不卡的av网站| 王馨瑶露胸无遮挡在线观看| 国产日韩一区二区三区精品不卡| 欧美少妇被猛烈插入视频| 国产精品免费大片| 一边亲一边摸免费视频| av又黄又爽大尺度在线免费看| 亚洲免费av在线视频| 亚洲av男天堂| 色婷婷av一区二区三区视频| 色播在线永久视频| 亚洲欧美色中文字幕在线| 国产亚洲欧美在线一区二区| 在线观看免费日韩欧美大片| 色综合欧美亚洲国产小说| 精品国产国语对白av| 午夜视频精品福利| 欧美日本中文国产一区发布| 日本黄色日本黄色录像| 久久久国产精品麻豆| 最近中文字幕2019免费版| 国产熟女欧美一区二区| 免费观看av网站的网址| 久久99一区二区三区| 欧美精品一区二区大全| 日韩一本色道免费dvd| 丝袜人妻中文字幕| 成年人黄色毛片网站| 亚洲色图 男人天堂 中文字幕| 亚洲熟女精品中文字幕| 亚洲人成电影免费在线| 在线av久久热| 亚洲三区欧美一区| 欧美变态另类bdsm刘玥| 交换朋友夫妻互换小说| 亚洲免费av在线视频| 男女国产视频网站| 校园人妻丝袜中文字幕| 欧美精品啪啪一区二区三区 | 两性夫妻黄色片| 亚洲欧美成人综合另类久久久| 日本vs欧美在线观看视频| 久久久久国产一级毛片高清牌| 午夜久久久在线观看| 久久影院123| 日日摸夜夜添夜夜爱| 午夜福利影视在线免费观看| 成年人午夜在线观看视频| 国产亚洲av高清不卡| 欧美日韩黄片免| 亚洲伊人色综图| 精品国产一区二区三区四区第35| 国产午夜精品一二区理论片| 亚洲,欧美,日韩| 成人亚洲精品一区在线观看| 久久人妻熟女aⅴ| 亚洲av国产av综合av卡| 69精品国产乱码久久久| e午夜精品久久久久久久| 亚洲精品国产一区二区精华液| 成人18禁高潮啪啪吃奶动态图| 一区二区三区四区激情视频| 精品久久久精品久久久| 日韩免费高清中文字幕av| 亚洲欧美一区二区三区国产| 婷婷成人精品国产| av天堂在线播放| 久久亚洲精品不卡| 亚洲国产日韩一区二区| 欧美激情高清一区二区三区| 久久久亚洲精品成人影院| 一区在线观看完整版| 女人精品久久久久毛片| 激情五月婷婷亚洲| 日日摸夜夜添夜夜爱| 日本欧美国产在线视频| 日韩中文字幕欧美一区二区 | 国产精品 国内视频| 观看av在线不卡| 久久久久国产一级毛片高清牌| 在线观看国产h片| 亚洲中文日韩欧美视频| 丝袜脚勾引网站| 久久久久久久大尺度免费视频| 国产日韩欧美在线精品| 高清视频免费观看一区二区| 大陆偷拍与自拍| 国产黄色免费在线视频| 少妇人妻久久综合中文| 激情五月婷婷亚洲| 亚洲av片天天在线观看| 久热爱精品视频在线9| 黑人巨大精品欧美一区二区蜜桃| 午夜福利乱码中文字幕| 国产一区二区激情短视频 | 18禁国产床啪视频网站| 色网站视频免费| 亚洲五月婷婷丁香| 欧美黄色淫秽网站| 天堂8中文在线网| 欧美人与性动交α欧美软件| 啦啦啦啦在线视频资源| 国产日韩欧美在线精品| 国产欧美亚洲国产| 国产精品久久久久久人妻精品电影 | 一级,二级,三级黄色视频| 日韩制服骚丝袜av| 波多野结衣av一区二区av| 久久天堂一区二区三区四区| 国产高清不卡午夜福利| 只有这里有精品99| 大码成人一级视频| 免费在线观看日本一区| 午夜激情av网站| 精品人妻一区二区三区麻豆| 深夜精品福利| cao死你这个sao货| 精品一区二区三区四区五区乱码 | 亚洲成人手机| 国产日韩欧美视频二区| tube8黄色片| 美女高潮到喷水免费观看| 一级片免费观看大全| 操美女的视频在线观看| 日本av手机在线免费观看| 男人爽女人下面视频在线观看| 欧美+亚洲+日韩+国产| 久久av网站| 久久久久久久久久久久大奶| 人人妻人人澡人人看| 天堂8中文在线网| 日韩 亚洲 欧美在线| 国产成人系列免费观看| 黄色一级大片看看| 又大又爽又粗| 国产精品免费大片| 中文字幕精品免费在线观看视频| 免费在线观看影片大全网站 | 国产亚洲欧美在线一区二区| 午夜91福利影院| 精品国产超薄肉色丝袜足j| 日韩欧美一区视频在线观看| 精品国产乱码久久久久久男人| 精品国产乱码久久久久久小说| 制服人妻中文乱码| 亚洲av在线观看美女高潮| 日本色播在线视频| 日韩免费高清中文字幕av| 午夜免费男女啪啪视频观看| 亚洲一卡2卡3卡4卡5卡精品中文| 欧美乱码精品一区二区三区| 午夜免费观看性视频| 久9热在线精品视频| 中文乱码字字幕精品一区二区三区| 精品一区二区三卡| 亚洲国产精品一区二区三区在线| 欧美黄色淫秽网站| 一本久久精品| 无遮挡黄片免费观看| 国产精品av久久久久免费| 人人妻人人澡人人看| 真人做人爱边吃奶动态| 亚洲精品国产av蜜桃| 黄色视频不卡| 免费在线观看黄色视频的| 日日夜夜操网爽| 国产一级毛片在线| 久久鲁丝午夜福利片| 波多野结衣一区麻豆| 久久久久久久精品精品| 蜜桃国产av成人99| 久久久久精品人妻al黑| 国产视频首页在线观看| 国产主播在线观看一区二区 | 超碰97精品在线观看| 狠狠婷婷综合久久久久久88av| 久久综合国产亚洲精品| 免费黄频网站在线观看国产| 只有这里有精品99| 一本久久精品| 亚洲成av片中文字幕在线观看| xxx大片免费视频| 亚洲成人免费电影在线观看 | 桃花免费在线播放| 婷婷色综合www| 国产真人三级小视频在线观看| cao死你这个sao货| 男女国产视频网站| 亚洲中文字幕日韩| 看免费成人av毛片| 老司机午夜十八禁免费视频| 美国免费a级毛片| 国产免费又黄又爽又色| 久久久亚洲精品成人影院| 青春草亚洲视频在线观看| 蜜桃国产av成人99| 国产免费现黄频在线看| 欧美黄色淫秽网站| 丝袜脚勾引网站| 亚洲,欧美精品.| 精品熟女少妇八av免费久了| netflix在线观看网站| 国产一区有黄有色的免费视频| 大型av网站在线播放| 国产片内射在线| 欧美成人精品欧美一级黄| 90打野战视频偷拍视频| 中文字幕色久视频| 又紧又爽又黄一区二区| 久久久久精品人妻al黑| 亚洲伊人久久精品综合| 欧美国产精品va在线观看不卡| 久久精品aⅴ一区二区三区四区| 欧美日韩成人在线一区二区| 国产av国产精品国产| 国产亚洲av片在线观看秒播厂| 精品福利永久在线观看| 黄片播放在线免费| 亚洲图色成人| 大型av网站在线播放| 国产一区二区 视频在线| 亚洲精品国产av蜜桃| 性色av乱码一区二区三区2| 丰满人妻熟妇乱又伦精品不卡| 啦啦啦啦在线视频资源| 亚洲av电影在线进入| 高清av免费在线| 蜜桃国产av成人99| 80岁老熟妇乱子伦牲交| 欧美日韩视频精品一区| 精品卡一卡二卡四卡免费| 日韩精品免费视频一区二区三区| 丝袜人妻中文字幕| 美女福利国产在线| 国产xxxxx性猛交| 只有这里有精品99| 精品国产国语对白av| 久久精品aⅴ一区二区三区四区| 午夜av观看不卡| 亚洲欧美清纯卡通| 国产一卡二卡三卡精品| 一区二区av电影网| 亚洲欧美一区二区三区国产| 岛国毛片在线播放| 一边亲一边摸免费视频| 国产一级毛片在线| 最近最新中文字幕大全免费视频 | 女人高潮潮喷娇喘18禁视频| 国产精品 国内视频| 真人做人爱边吃奶动态| av欧美777| 视频区图区小说| 国产精品一区二区精品视频观看| 国产精品九九99| 欧美国产精品一级二级三级| 亚洲专区中文字幕在线| 久久久久久久久久久久大奶| 久久国产亚洲av麻豆专区| 一区二区日韩欧美中文字幕| 99精品久久久久人妻精品| 手机成人av网站| 久久久国产精品麻豆| 久久久久精品国产欧美久久久 | 久久久久视频综合| 蜜桃国产av成人99| 欧美精品一区二区大全| 在线观看免费高清a一片| av视频免费观看在线观看| 国产成人91sexporn| 亚洲成人免费电影在线观看 | 我的亚洲天堂| avwww免费| 国产成人免费观看mmmm| 久久久精品区二区三区| 在线看a的网站| 午夜日韩欧美国产| 久久av网站| 国产男女内射视频| 人人妻,人人澡人人爽秒播 | 色婷婷av一区二区三区视频| 久久久久久免费高清国产稀缺| 永久免费av网站大全| 亚洲av片天天在线观看| 99国产精品免费福利视频| 亚洲欧洲日产国产| 久久久国产欧美日韩av| 欧美日韩一级在线毛片| 久久人人爽人人片av| 亚洲国产精品一区二区三区在线| 国产免费视频播放在线视频| 亚洲国产精品999| www.精华液| 亚洲国产毛片av蜜桃av| 国产国语露脸激情在线看| 久久久精品区二区三区| 一级片免费观看大全| 老司机深夜福利视频在线观看 | 国产精品久久久av美女十八| 亚洲欧美成人综合另类久久久| 一区二区三区激情视频| 男的添女的下面高潮视频| 美国免费a级毛片| 久久精品人人爽人人爽视色| xxxhd国产人妻xxx| 尾随美女入室| 男女高潮啪啪啪动态图| 国产真人三级小视频在线观看| 色婷婷av一区二区三区视频| 中文字幕制服av| 午夜av观看不卡| 久久久精品区二区三区| 婷婷色麻豆天堂久久| 亚洲精品一卡2卡三卡4卡5卡 | 亚洲精品一卡2卡三卡4卡5卡 |