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

快應(yīng)用開發(fā)優(yōu)化技巧

移動(dòng)開發(fā) 移動(dòng)應(yīng)用
優(yōu)化的目的是為了提高代碼的可維護(hù)性以及應(yīng)用性能,可以說(shuō),正是多種多樣的優(yōu)化手段,讓邏輯性極強(qiáng)的代碼變的充滿藝術(shù)性。為了越發(fā)優(yōu)雅地完成編碼,我相信這個(gè)話題會(huì)一直探討下去。

2018年3月,華為、小米、OPPO等九大手機(jī)廠商共同發(fā)布了快應(yīng)用??鞈?yīng)用標(biāo)準(zhǔn)由主流手機(jī)廠商組成的快應(yīng)用聯(lián)盟共同制定,其擁有傳統(tǒng)app的應(yīng)用體驗(yàn),同時(shí)又具備無(wú)需安裝、即點(diǎn)即用的特點(diǎn)。其實(shí),早在2013年,百度曾推出了輕應(yīng)用,2017年,騰訊又推出了小程序,之后,阿里也推出了支付寶的小程序。業(yè)務(wù)細(xì)節(jié)上,它們各有不同,但大體上定位是類似的,如同當(dāng)年CS架構(gòu)轉(zhuǎn)向BS架構(gòu)一樣,這種無(wú)需安裝、即點(diǎn)即用的應(yīng)用形式,正在成為app市場(chǎng)新的趨勢(shì)。

閑言少敘,書歸正傳。本文的目的,是為了讓大家了解到快應(yīng)用開發(fā)常用的優(yōu)化手段,提升對(duì)應(yīng)用代碼整理的組織能力,合理拆分功能模塊,從而使項(xiàng)目更易維護(hù),提高工作效率。至于如何搭建開發(fā)環(huán)境,開發(fā)流程以及系統(tǒng)api的描述,大家均可在快應(yīng)用的官方文檔中找到。本文將介紹快應(yīng)用開發(fā)的優(yōu)化技巧。

快應(yīng)用開發(fā)采用前端技術(shù)棧,其優(yōu)化方式主要可從以下四方面進(jìn)行:

  1. 數(shù)據(jù)共享
  2. 性能優(yōu)化
  3. 錯(cuò)誤處理
  4. 結(jié)構(gòu)優(yōu)化

數(shù)據(jù)共享

在快應(yīng)用開發(fā)中,開發(fā)者需要了解頁(yè)面與APP之間,頁(yè)面與頁(yè)面之間的數(shù)據(jù)共享方式。其實(shí)不止快應(yīng)用,任何前端工程都需要考慮這個(gè)問(wèn)題,如react開發(fā)中,引入redux可方便統(tǒng)一管理數(shù)據(jù)源,在快應(yīng)用開發(fā)中,可以通過(guò)使用框架API或使用全局變量global兩種方式實(shí)現(xiàn)數(shù)據(jù)共享。

1. 框架API

開發(fā)者可以在頁(yè)面ViewModel中,通過(guò)this.$app.$def獲取APP上定義的數(shù)據(jù)及方法。

但這種方式的缺點(diǎn)在于需要依賴ViewModel實(shí)例,然而,很多全局方法與生命周期無(wú)關(guān)。全局變量global作為獨(dú)立于應(yīng)用生命周期的引用,理應(yīng)成為開發(fā)者的***。 

2. 全局變量global

在app.ux、${anyPage}.ux中,開發(fā)者都可以使用變量global。然而,頁(yè)面與APP之間,頁(yè)面與頁(yè)面之間的變量global并不相同,引用的值指向不同的對(duì)象;雖然不相同,但它們的原型都指向同一個(gè)全局的對(duì)象。因此,開發(fā)者可以在這個(gè)全局對(duì)象上定義變量,這樣在任何JS中均可訪問(wèn)。同樣,這種方式也存在缺點(diǎn),比如存在污染全局環(huán)境,在復(fù)雜場(chǎng)景下容易引發(fā)難以復(fù)現(xiàn)的BUG等問(wèn)題。

性能優(yōu)化

1. 更合理的Dom結(jié)構(gòu)

Dom節(jié)點(diǎn)是構(gòu)成頁(yè)面最基本的元素,盡量使用符合語(yǔ)義的標(biāo)簽,同時(shí)減少Dom層級(jí)結(jié)構(gòu)會(huì)對(duì)頁(yè)面的可讀性及性能都會(huì)有明顯提升。

2. 更有效的選擇器

快應(yīng)用的開發(fā)框架支持后代選擇器,這對(duì)開發(fā)者提供了很大的便利,但與此同時(shí),后代選擇器的性能損耗是相對(duì)較大的,如使用不得當(dāng),會(huì)對(duì)頁(yè)面性能造成較多損耗。

我們首先要知道,CSS選擇器是由右向左解釋的??匆韵逻x擇器

#container > a {font-weight:blod;}

對(duì)于很多剛開始了解css的朋友來(lái)說(shuō),通常會(huì)認(rèn)為,該選擇器先找到id為container的元素,然后將字體加粗效果應(yīng)用到直系子元素中的 a 元素上,應(yīng)該是個(gè)高效的選擇器。然而事實(shí)并非如此,瀏覽器首先會(huì)便利頁(yè)面中所有的a元素,然后篩選出父元素id為container的節(jié)點(diǎn)。所以這個(gè)看似高效的選擇器,其實(shí)也是花費(fèi)了不少的開銷。

了解到這個(gè)規(guī)則后,對(duì)于后代選擇器的使用,我們建議做到以下幾點(diǎn)優(yōu)化。

  1. 避免使用組件名稱作為后代選擇的***一項(xiàng)匹配規(guī)則,越是基礎(chǔ)的組件,復(fù)用度就越多,越是要避免。如: .container #doc text { ... };否則每個(gè)text組件渲染時(shí)都會(huì)遍歷匹配一次
  2. 減少后代選擇的層級(jí)數(shù)量,層級(jí)越深,單次匹配耗時(shí)則成指數(shù)式增長(zhǎng)。
  3. 后代選擇中***一條匹配規(guī)則的定義名稱盡量唯一,如:.container #doc .doc-item .doc-name-zh{ ... }

3. 圖片優(yōu)化

在前端開發(fā)中,圖片通常占據(jù)了較大的空間。較多的圖片資源也意味著較多的http請(qǐng)求,在相同帶寬條件下,下載一個(gè)200k的圖片,一定比下載兩次100k的圖片速度更快。建議可以做幾下幾點(diǎn)優(yōu)化。

  1. 使用CSS Sprites,其實(shí)就是把網(wǎng)頁(yè)中一些背景圖片整合到一張圖片文件中,再利用CSS的“background-image”,“background-repeat”,“background-position”的組合進(jìn)行背景定位,這種方式***的優(yōu)點(diǎn)就是減少了http請(qǐng)求,大大提高了網(wǎng)頁(yè)性能。話說(shuō)回來(lái),這種方式也有缺點(diǎn),比如開發(fā)起來(lái)會(huì)相對(duì)麻煩。
  2. 對(duì)于頁(yè)面上簡(jiǎn)單的圖標(biāo)文件,可盡量使用css3實(shí)現(xiàn),或矢量圖代替,這樣也能明顯減少圖片占用的空間,提高性能。
  3. 避免圖片壓縮,如果頁(yè)面中用不到較大的圖片,就完全沒必要通過(guò)css去壓縮圖片以適應(yīng)需求。直接使用小圖或其他可替代方式更加明智。

4. 簡(jiǎn)化ViewModel的data屬性

數(shù)據(jù)驅(qū)動(dòng)是當(dāng)下流行的前端開發(fā)形式,在快應(yīng)用中也是如此。在ViewModel的定義中,data屬性主要承擔(dān)數(shù)據(jù)驅(qū)動(dòng)的數(shù)據(jù)定義,會(huì)對(duì)賦值的data中每個(gè)屬性進(jìn)行遞歸式的定義。因此,屬性定義語(yǔ)義結(jié)構(gòu)越清晰且數(shù)量越少,則質(zhì)量越高。

例如,當(dāng)我們發(fā)出fetch請(qǐng)求,返回結(jié)果中包含了很多數(shù)據(jù),而前端需要顯示的數(shù)據(jù)只是其中很少一部分,則在該頁(yè)面的data中,就只需要定義前端需要顯示的數(shù)據(jù)即可,如下面的示例代碼片段。

// fetch請(qǐng)求返回的數(shù)據(jù),數(shù)據(jù)量大,而data中只需要其中部分?jǐn)?shù)據(jù)

const tradeInfoList = [

{

"_id" : "5c31aa2a565e9938214da13b",

"currentPrice" : 1,

"tradePrice" : 1,

"userId" : "admin",

"tradeAmount" : 600,

"stockInfo" : {

"code" : "000008",

"name" : "股票8",

"price" : 1,

"des" : "描述8"

}

},

{

// ...

}

]

export default {

data () {

return {

list: []

}

},

onInit () {

// 返回頁(yè)面中需要的對(duì)象屬性,過(guò)濾其他屬性

this.list = tradeInfoList.map(item => {

userId: item.userId,

tradePrice: item.tradePrice

})

}

}

5. 懶加載

懶加載是一種通用的優(yōu)化手段,傳統(tǒng)H5頁(yè)面中的懶加載,指的是頁(yè)面即將進(jìn)入屏幕可視區(qū)域時(shí),才加載資源,渲染頁(yè)面。這樣,給用戶直觀的感受就是,頁(yè)面加載速度變快了。在快應(yīng)用開發(fā)中,可使用指令或事件觸發(fā)來(lái)實(shí)現(xiàn)懶加載。

比如很常見的場(chǎng)景,一個(gè)包含list組件的頁(yè)面,我們開始只渲染前十條數(shù)據(jù),當(dāng)頁(yè)面下滑至某位置時(shí),觸發(fā)加載更多來(lái)完成渲染。

錯(cuò)誤處理

前端開發(fā)中,一旦程序執(zhí)行出錯(cuò),就會(huì)報(bào)出JS異常彈框。

1. 訪問(wèn)null或undefined的屬性

以上的這種錯(cuò)誤可能是最常見的一種了,在稍微復(fù)雜的業(yè)務(wù)邏輯代碼中,多加判空條件,是避免這種錯(cuò)誤的最簡(jiǎn)易方式。即便某些數(shù)據(jù)在定義時(shí)是必須存在的,但我們無(wú)法完全保證,存在各種原因?qū)е逻@些數(shù)據(jù)為空或undefined。保證代碼的嚴(yán)謹(jǐn)性,是應(yīng)對(duì)不確定性異常的根本方式。當(dāng)然有些稍微復(fù)雜的情況下,需要特殊處理,如后兩種場(chǎng)景。

2. JSON.parse解析出錯(cuò)

這種錯(cuò)誤也十分常見。當(dāng)我們轉(zhuǎn)換一個(gè)JSON字符串時(shí),如果這個(gè)字符串的格式并不是一個(gè)標(biāo)準(zhǔn)的JSON格式,那轉(zhuǎn)換肯定失敗??梢栽贘SON.parse()時(shí),使用try-catch進(jìn)行包裹,以便對(duì)錯(cuò)誤信息進(jìn)行分析,如

當(dāng)然,在每處JSON.parse()的地方都執(zhí)行try-catch會(huì)有些麻煩,更推薦的方式是,在app.ux中提前代理JSON.parse(),使用try-catch包圍,如

export function parseProxy() {

const rawParse = JSON.parse JSON.parse = function (str, defaults) {

try {

return rawParse(str)

} catch (err) {

console.error( ` JSON解析失?。? {str}, $ {err.stack}` )return defaults

}

}

}

3、ViewModel回調(diào)函數(shù)異常場(chǎng)景

用戶打開PageA,然后在該頁(yè)面中執(zhí)行接口方法(如fetch請(qǐng)求),然后立即跳轉(zhuǎn)到PageB;此時(shí)接口的回調(diào)函數(shù)返回,但PageA已經(jīng)出棧銷毀,此時(shí),執(zhí)行開發(fā)者傳遞的回調(diào)函數(shù)報(bào)錯(cuò)。

這是由于,回調(diào)函數(shù)中訪問(wèn)了一些data數(shù)據(jù)等,而這些ViewModel的數(shù)據(jù)屬性已經(jīng)伴隨著頁(yè)面銷毀而刪除了,所以引起報(bào)錯(cuò)。對(duì)于這種異常,通??刹捎靡韵路绞浇鉀Q。

A. 在回調(diào)函數(shù)執(zhí)行之前,通過(guò)ViewModel對(duì)象的$valid、$visible判斷頁(yè)面狀態(tài)

B. 在Function.prototype上定義方法,關(guān)聯(lián)到每個(gè)回調(diào)函數(shù)綁定ViewModel實(shí)例。

/**

* 在Function原型上定義bindPage方法:將回調(diào)函數(shù)綁定到頁(yè)面對(duì)象,頁(yè)面不可見或者銷毀時(shí),不執(zhí)行回調(diào)函數(shù)

*/

export function bindPageLC () {

Function.prototype.bindPage = function (vmInst) {

const fn = this

return function () {

if (!vmInst) {

throw new Error(`使用錯(cuò)誤:請(qǐng)傳遞VM對(duì)象`)

}

if (vmInst.$valid && vmInst.$visible) {

return fn(...arguments)

}

else {

console.info(`頁(yè)面不可見或者銷毀時(shí),不執(zhí)行回調(diào)函數(shù)`)

}

}

}

}

在${anyPage}.ux中,通過(guò)fn.bindPage(this),在回調(diào)函數(shù)上綁定ViewModel實(shí)例

export default {

data () {

return {}

},

request () {

// 調(diào)用bindPage(this)返回:綁定了頁(yè)面對(duì)象的回調(diào)函數(shù),當(dāng)頁(yè)面不可見或者銷毀時(shí),不執(zhí)行回調(diào)函數(shù)

fetch.fetch({

success: function(ret) {

// 數(shù)據(jù)操作等

}.bindPage(this)

})

}

}

C. 通常在頁(yè)面發(fā)送請(qǐng)求時(shí),頁(yè)面需要添加loading處理,以防止用戶在此時(shí)進(jìn)行其他操作,當(dāng)然這種方式是從業(yè)務(wù)角度規(guī)避了這個(gè)異常。不過(guò)確是一種很常用的方式??山Y(jié)合方式B以保證代碼嚴(yán)謹(jǐn)性。

結(jié)構(gòu)優(yōu)化

結(jié)構(gòu)優(yōu)化的目的是減小頁(yè)面以及整體rpk包的體積,減少冗余代碼

常用的手段有以下幾項(xiàng):

A. 在app.ux中引入常用的JS庫(kù),并暴露給每個(gè)頁(yè)面使用;可以避免每個(gè)頁(yè)面在打包時(shí)對(duì)JS的重復(fù)定義

B. 項(xiàng)目?jī)?nèi)部的代碼抽象封裝,如封裝常用的工具類函數(shù),封裝統(tǒng)一的Fetch請(qǐng)求方法,這些封裝可作為公共方法提供給各個(gè)頁(yè)面,便于維護(hù)的同時(shí),也有效降低了代碼量。

結(jié)尾

優(yōu)化的目的是為了提高代碼的可維護(hù)性以及應(yīng)用性能,可以說(shuō),正是多種多樣的優(yōu)化手段,讓邏輯性極強(qiáng)的代碼變的充滿藝術(shù)性。為了越發(fā)優(yōu)雅地完成編碼,我相信這個(gè)話題會(huì)一直探討下去。

 

責(zé)任編輯:張燕妮 來(lái)源: 51CTO
相關(guān)推薦

2021-04-08 21:32:38

華為快應(yīng)用Serverless

2019-03-20 23:39:16

快應(yīng)用開發(fā)者

2017-12-23 14:38:41

Android編程開發(fā)優(yōu)化

2011-08-08 14:57:46

iPhone Autoreleas Property

2019-03-21 14:18:38

iOS開發(fā)優(yōu)化原因

2018-04-13 10:36:44

Web應(yīng)用優(yōu)化

2012-04-26 13:26:58

iPhone應(yīng)用技巧

2023-03-09 15:10:49

應(yīng)用開發(fā)鴻蒙

2010-05-14 15:58:26

HTML優(yōu)化

2020-12-17 07:52:38

JavaScript

2010-01-12 18:00:50

VB.NET界面

2019-08-14 15:40:05

Web圖片優(yōu)化前端

2017-04-18 09:00:19

Linux技巧系統(tǒng)備份

2020-01-07 10:14:38

Python程序員腳本語(yǔ)言

2011-08-02 09:04:02

移動(dòng)應(yīng)用開發(fā)

2018-08-24 10:57:10

2024-09-14 11:23:19

2011-03-25 13:43:54

Cacti優(yōu)化

2011-07-01 16:05:22

SEO

2011-03-09 10:55:33

LAMP優(yōu)化技巧
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

清纯唯美日韩制服另类| 午夜欧美一区二区三区在线播放| 超碰97人人做人人爱少妇| 黄色一级在线视频| 成人精品一区二区三区免费| 影音先锋一区| 亚洲欧洲自拍偷拍| 57pao国产成永久免费视频| 亚洲色图欧美视频| 六月丁香婷婷久久| 欧美激情精品久久久久久免费印度 | 一区二区三区日韩视频| 国产一级片毛片| 日韩欧美网址| 亚洲黄一区二区| 一区二区三区 日韩| 亚洲欧美日韩免费| 久久99久国产精品黄毛片色诱| 精品呦交小u女在线| 97在线国产视频| 国内精品一区视频| 丁香五精品蜜臀久久久久99网站| 俺也去精品视频在线观看| 欧美一级片中文字幕| 性感美女一级片| 麻豆精品在线观看| 欧美亚洲国产成人精品| 色婷婷免费视频| 中文成人在线| 色婷婷综合激情| 性一交一乱一伧国产女士spa| www.成人免费视频| 免费成人av资源网| 国产91精品久久久久久久| 国产精品福利导航| 亚洲福利合集| 欧美美女一区二区三区| 超碰97免费观看| 噜噜噜在线观看播放视频| 欧美专区18| 久久久久久久久电影| 毛茸茸free性熟hd| 日韩欧美中文字幕一区二区三区| 亚洲精品第1页| 亚洲一区影院| www.视频在线.com| 久久在线免费观看| 精品国产日本| 男人天堂av网| 成人毛片老司机大片| 97婷婷涩涩精品一区| 国产交换配乱淫视频免费| 3d性欧美动漫精品xxxx软件| 中文字幕久久午夜不卡| 亚洲一区二区少妇| 国产又黄又猛又爽| 麻豆精品在线看| 国产精品欧美一区二区| 日韩女优一区二区| 亚洲精品成人无限看| 亚洲国产小视频在线观看| 亚洲色欲综合一区二区三区| av男人的天堂在线| 中文欧美字幕免费| 亚洲一区二区三区精品动漫| 丰满肉嫩西川结衣av| 亚洲女同同性videoxma| 国内激情久久| 国产精品1区二区.| 国产精品第一第二| 最近中文字幕免费在线观看| 欧美残忍xxxx极端| 中文字幕精品—区二区| 稀缺小u女呦精品呦| 欧美大片免费| 欧美中文一区二区三区| 日韩欧美猛交xxxxx无码| 伦理片一区二区三区| 国产精品1区2区3区| 秋霞成人午夜鲁丝一区二区三区| 日本美女黄色一级片| 久久成人福利| 亚洲乱码国产乱码精品精| 污污视频在线免费| 天堂va欧美ⅴa亚洲va一国产| 日本高清成人免费播放| 黄色片免费在线观看视频| 国产黄色在线播放| 中文字幕视频一区| 激情小视频网站| 欧美gay视频| 欧美色偷偷大香| 亚洲国产综合av| 欧美日韩一区二区三区四区不卡| 777亚洲妇女| 亚洲视频天天射| 亚洲精品**不卡在线播he| 日韩精品一区二区三区视频播放 | 天堂网av在线播放| 久久久99精品免费观看| 国产综合色一区二区三区| 国产成人精品一区二三区四区五区| 日本欧美一区二区三区乱码| 午夜精品久久久久久99热软件| 国产午夜手机精彩视频| 日韩在线理论| 性色av一区二区三区红粉影视| 岛国毛片在线观看| 美女精品一区| 96精品久久久久中文字幕| 中文字幕日韩三级| 丁香天五香天堂综合| 92看片淫黄大片欧美看国产片| 又色又爽又黄无遮挡的免费视频| 噜噜噜躁狠狠躁狠狠精品视频| 午夜精品国产精品大乳美女| 欧美成人aaaaⅴ片在线看| 91精品一区二区三区综合| 色偷偷偷综合中文字幕;dd| 日韩一区二区a片免费观看| 伊人久久大香线蕉av不卡| 亚洲电影中文字幕| 波多野结衣喷潮| 久久国产精品毛片| 成人自拍偷拍| 黄色在线视频网站| 91国在线观看| 日本黄色片在线播放| 亚洲精品亚洲人成在线| 亚洲欧美国产另类| 久一视频在线观看| 国产综合色精品一区二区三区| 成人在线视频网| 人人九九精品| 午夜伦理一区二区| 蜜桃色一区二区三区| www.神马久久| www.久久久久久.com| 欧美高清视频一区二区三区| 韩国精品一区二区三区| 韩日精品中文字幕| 丰满人妻一区二区三区四区53| av亚洲精华国产精华精| 蜜桃精品久久久久久久免费影院| 三级视频网站在线| 亚洲高清久久久| 可以看的av网址| 亚洲天堂一区二区三区四区| 欧美黑人极品猛少妇色xxxxx| 国产精彩视频在线观看| 丝袜脚交一区二区| 品久久久久久久久久96高清| 青青青青在线| 欧美三级午夜理伦三级中视频| av中文字幕网址| 色乱码一区二区三区网站| 欧美高跟鞋交xxxxhd| 国产成人在线免费观看视频| 日韩精品一级中文字幕精品视频免费观看| 国产精品老女人精品视频| 97超视频在线观看| 亚洲国产精品精华液ab| 黄色一级片av| 日本亚洲视频| 欧美高清不卡在线| 天天干天天插天天操| 国产精品无遮挡| 男女男精品视频站| 97精品视频在线看| 亚洲尤物视频网| 国产丝袜在线观看视频| 在线观看91视频| 娇小11一12╳yⅹ╳毛片| a91a精品视频在线观看| 91精品久久久久| av在线导航| 亚洲精品在线观| 日本视频在线观看免费| 国产激情一区二区三区四区| 日韩福利二区| 日日夜夜综合| 欧美国产乱视频| 神马久久精品| 欧美日韩一区在线| 九九九在线视频| 久久综合色天天久久综合图片| 久久久无码中文字幕久...| 91大神在线观看线路一区| 亚洲精品美女久久久久| 免费在线一级片| 久久亚洲一级片| а 天堂 在线| 亚洲免费观看| 亚洲欧洲久久| 国产精品国产| 国产精品入口免费视| 亚洲人成色777777精品音频| 亚洲男同1069视频| 黄色污在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎 | ,一级淫片a看免费| 亚洲国产视频一区| 熟女少妇内射日韩亚洲| 久久国产精品99国产| 国产呦系列欧美呦日韩呦| 制服丝袜在线播放| 亚洲视频欧洲视频| www.蜜桃av.com| 在线免费观看不卡av| 精品少妇人妻一区二区黑料社区| 亚洲欧洲日本一区二区三区| 99久久国产免费免费| 怡红院av在线| 国产一区二区三区在线观看视频| 91在线视频免费播放| 久久综合久久鬼色中文字| 国产精品久久中文字幕| 久久狠狠久久| 国产综合在线观看视频| 久草中文在线观看| 亚洲欧洲高清在线| 蜜臀久久99精品久久久| 激情久久av一区av二区av三区| 在线观看成人动漫| 精品一区在线看| 成人免费毛片播放| 亚洲大胆视频| 国产1区2区3区中文字幕| 草草视频在线一区二区| 午夜精品99久久免费| 三级国产在线观看| 亚洲成avwww人| 国产精品无码久久av| 亚洲欧洲综合另类在线| 夜夜爽久久精品91| 久久精品国产77777蜜臀| 久久av秘一区二区三区| 欧美二区观看| 国产精品视频网址| 无人区在线高清完整免费版 一区二 | 美女性感视频久久久| 亚洲AV无码精品国产| 亚洲午夜精品17c| 疯狂试爱三2浴室激情视频| 成人毛片视频在线观看| 色七七在线观看| 久久婷婷麻豆| 粉嫩虎白女毛片人体| 97人人精品| 亚洲国产日韩综合一区| 视频精品一区二区三区| 国产a∨精品一区二区三区不卡| 午夜视频成人| 少妇久久久久久| 2019中文字幕在线视频| 欧美哺乳videos| www.亚洲天堂.com| 日韩一级成人av| www.黄色av| 亚洲国产精彩中文乱码av| 中文字幕 视频一区| 亚洲在线中文字幕| 久草成人在线视频| 黄色成人在线播放| 日日夜夜狠狠操| 精品视频在线免费看| 欧美日韩中文视频| 婷婷成人激情在线网| 大地资源高清在线视频观看| 91在线播放网址| 精品无码人妻一区| 中文字幕巨乱亚洲| 亚洲成人生活片| 亚洲成a人片在线不卡一二三区| 亚洲午夜精品久久久久久高潮| 国产·精品毛片| 午夜男人的天堂| 久久久久久久综合| 日本美女黄色一级片| 久久久久久夜精品精品免费| 色诱av手机版| 91丨国产丨九色丨pron| 曰本三级日本三级日本三级| 日韩不卡手机在线v区| 国产 日韩 亚洲 欧美| 中文字幕午夜精品一区二区三区 | 丁香花免费高清完整在线播放 | 天天爽夜夜爽人人爽| 亚洲一区二区视频在线观看| 国产黄色录像视频| 亚洲另类在线一区| 国产又大又黑又粗免费视频| 亚洲一区二区三区不卡国产欧美| 婷婷综合在线视频| 一区二区三区免费观看| 国产精品视频看看| 午夜国产精品影院在线观看| 毛片aaaaa| 色哦色哦哦色天天综合| 黑人一级大毛片| 欧洲一区二区三区在线| 久久精品视频5| 欧美一级高清片| 九九在线视频| 欧美大片在线免费观看| 在线免费观看a视频| 麻豆一区二区在线观看| 黄色一级大片在线免费看产| 中文字幕精品久久久久| av在线1区2区| 97超级碰碰人国产在线观看| 黄视频免费在线看| 亚洲淫片在线视频| 成人在线免费观看视频| 一本色道久久综合亚洲精品婷婷 | 韩日午夜在线资源一区二区| 99ri日韩精品视频| 欧美性大战久久久久| 露出调教综合另类| 在线观看18视频网站| 欧美韩国一区| 亚洲免费一级视频| 26uuu久久综合| 国产极品美女高潮无套嗷嗷叫酒店| 亚洲国产成人高清精品| 免费在线观看黄网站| 欧美视频13p| 亚洲精品成人区在线观看| 亚洲成人在线视频播放| 亚州视频一区二区三区| 亚洲色在线视频| 2018av在线| 成人xxxxx色| 欧美精品国产| 亚洲天堂伊人网| 国产精品毛片a∨一区二区三区| 操她视频在线观看| 精品视频123区在线观看| jizz中国少妇| 久久这里只有精品99| 男女免费观看在线爽爽爽视频| 91精品国产高清自在线| 625成人欧美午夜电影| 国产精品视频成人| 欧美日韩性在线观看| 天天干天天色天天爽| 亚洲精品1区2区| 国产精品日日摸夜夜爽| 久久嫩草精品久久久精品一| 亚洲一级黄色录像| 欧美在线观看一二区| 亚洲经典一区二区三区| 亚洲美女精品成人在线视频| 无遮挡动作视频在线观看免费入口| 成年人精品视频| 国内不卡的一区二区三区中文字幕| 高清免费日韩| 激情欧美亚洲| 一级欧美一级日韩片| 国产精品免费久久| 一级爱爱免费视频| 久久精品国产v日韩v亚洲| 国产伦理精品| 久久久一本精品99久久精品66| 99九九热只有国产精品| 国产www免费| 99re66热这里只有精品3直播 | 伊人久久中文字幕| 最近2019年好看中文字幕视频| v片在线观看| 99精品在线直播| 夜夜嗨一区二区三区| 亚洲精品永久视频| 一区二区三区在线免费播放| 国产免费一区二区三区四区五区| 欧美一区二区福利视频| 欧美日韩伦理片| 国产精品18久久久久久首页狼| 国产精东传媒成人av电影| 一区二区视频在线观看| 美女国产精品| 任我爽在线视频| 日韩一区二区不卡| 三级中文字幕在线观看| 91欧美激情另类亚洲| 欧美三级美国一级| 欧美国产在线一区| 午夜精品一区二区三区电影天堂| 国产视频手机在线观看| 亚洲午夜精品久久久久久性色| 精品丝袜在线| 亚洲日本精品一区| 成人午夜在线播放| 免费看av在线| 久久99久国产精品黄毛片入口| 日本欧美在线| 男人插女人视频在线观看| 国产精品一区二区三区乱码| 香蕉久久久久久久| 亚洲二区中文字幕|