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

Taro 鴻蒙技術內幕:如何讓 W3C 標準的 CSS跑在鴻蒙上

開發(fā) 前端
通過本文,我們詳細闡述了Taro在處理CSS樣式與鴻蒙系統(tǒng)ArkUI框架之間差異的全流程。我們探討了樣式書寫方式的不一致性、樣式匹配和應用的復雜過程,以及樣式更新時的處理策略。

基于 Taro 打造的京東鴻蒙 APP 已跟隨鴻蒙 Next 系統(tǒng)公測,本系列文章將深入解析 Taro 如何實現使用 React 開發(fā)高性能鴻蒙應用的技術內幕。

圖片圖片

1.背景

HarmonyOS 采用自研的 ArkUI 框架作為原生 UI 開發(fā)方案,這套方案有完善的布局系統(tǒng)和樣式控制,但是他的標準與 W3C 的 CSS 標準存在不一致性。這意味著,如果 Taro 直接使用 HarmonyOS 提供的樣式系統(tǒng),開發(fā)者在使用 Taro 開發(fā)時會遇到非常多的樣式兼容性問題,寫出來的代碼也會失去跨平臺兼容的能力,與 Taro 多端統(tǒng)一開發(fā)的定位不符。如何抹平 ArkUI 標準和 W3C 的 CSS 標準之間的差異成了一個重中之重的任務。

本文將介紹 Taro 處理 CSS 的全流程,剖析將不同的 CSS 樣式轉換為 ArkUI 樣式遇到的問題和對應的解決方案。

2.CSS 樣式和 ArkUI CAPI 樣式的差異和抹平

樣式書寫方式不一致

以幾個我們日常會使用到的屬性為例,下面的分別是 CSS 的寫法和 ArkUI CAPI 的寫法。

圖片圖片

對比可以看出,CSS 樣式和鴻蒙樣式在單位系統(tǒng)和數據表示方式上存在顯著差異。CSS 提供多樣化的尺寸和顏色單位,而 ArkUI 的 CAPI 接口采用更統(tǒng)一的表示方式。

ArkUI 的 CAPI 接口將所有尺寸統(tǒng)一為 vp 單位,顏色采用 0xAARRGGBB 格式的 uint32 類型,對于漸變和 transform 等復雜樣式屬性,更是需要轉換為顏色停止點和角度值列表和矩陣運算,這樣的接口簡潔但需要調用者根據具體場景完成必要的單位轉換。

圖片圖片

一個頁面通常會包含非常多的樣式規(guī)則,如果所有的單位轉換都放在運行時候完成,必定會造成明顯的性能問題。因此,我們選擇提前完成部分轉換。HTML 節(jié)點的樣式主要來源于 CSS 和 Style 屬性。CSS 樣式通常是靜態(tài)的,可以在編譯階段進行轉換。為此,我們基于 lightningCSS 開發(fā)了一個 Rust 插件。該插件通過遍歷項目 CSS 的抽象語法樹(AST),將其轉換為 ArkUI 的 CAPI 接口可直接使用的數據結構。

圖片圖片

圖片圖片

而對于 Style 屬性,其內容在運行時才能確定,因此必須在運行時進行轉換。在 React 的語法中,Style 可能以字符串形式呈現,也可能是 CSS 屬性名和屬性值的鍵值對。為了有效解析 Style,我們針對各種類型的 CSS 語法寫了一系列小型的 CSS 語法解析邏輯。這些邏輯能夠從各種不同格式的字符串中準確匹配出屬性值并進行轉換。

雖然這種方法需要在運行時進行語法分析,但考慮到 Style 屬性通常只包含有限的樣式,加上 C++語言的高效執(zhí)行特性,這種實時轉換對性能的影響可以忽略不計。更為重要的是,這些運行時的 CSS 語法解析邏輯可以為后面 Taro 支持 CSS 變量提供能力支持。

布局存在差異

除了書寫方式的差異,ArkUI 有很多布局屬性的行為在細節(jié)上也和 W3C 的布局屬性存在著不小的差異,比如鴻蒙的絕對定位相對父級定位,Web 的絕對定位相對最近的已定位祖先元素定位,并且鴻蒙的定位不支持 right 和 bottom(早期)。

圖片圖片

web可以通過margin的auto實現居中,鴻蒙能通過flex實現居中。

圖片圖片

同時, ArkUI 的 CAPI 接口缺少一些 Web 常用功能,如 calc() 計算和百分比設置支持。為消除這些差異,我們選擇采用 Yoga 作為布局引擎,而非使用鴻蒙原生提供的布局。Yoga 是 Facebook 開發(fā)的開源跨平臺布局引擎,實現了基于 Web 標準的 FlexBox 布局算法。使用 Yoga 可以很容易地實現對大部分 CSS 布局屬性的支持,讓兩端的差異縮小 。

在具體實現中,我們需要在構建 Taro 節(jié)點樹的同時,構建結構一致的 Yoga 節(jié)點樹。

圖片圖片

然后把原本直接設置到鴻蒙節(jié)點上的樣式屬性(如寬高、margin、padding、display 和 position)設置到 Yoga 節(jié)點上。經 Yoga 計算后,我們再從 Yoga 節(jié)點上讀取計算后的 width、height、x 和 y 值設置到鴻蒙節(jié)點上,從而實現鴻蒙端和 web 端的布局一致性。

圖片圖片

 

通過使用 Yoga 作為布局引擎,我們不僅解決了鴻蒙系統(tǒng)與 Web 布局之間的差異,還提高了跨平臺一致性。這種方法使開發(fā)者可以使用熟悉的 Web 布局概念,同時確保在鴻蒙平臺上獲得預期的布局效果。

3.樣式的工作流程

介紹完 Taro 適配 ArkUI 的 CAPI 樣式過程中遇到的問題和對應的解決策略之后,我們就可以來看看基于這些策略,鴻蒙樣式的整個工作流程是怎么樣的。

樣式初始化

首先,項目啟動后,編譯器處理后的樣式文件將第一個被加載到運行時環(huán)境。樣式處理邏輯會根據各個選擇器(selector)生成相應的樣式規(guī)則(StyleRule),即 CSS 屬性的鍵值對集合。

圖片圖片

根據 ClassName 匹配 StyleRule

React 在構建每個節(jié)點的同時,會通過 Reconciler 把 React 節(jié)點的 ClassName 和 Style 設置到相應的 Taro 節(jié)點上,這個時候我們就開始進入節(jié)點的樣式匹配環(huán)節(jié)。樣式處理會執(zhí)行以下步驟:首先,從 CSSStylesheet 這個樣式集合里識別出與 className 相關的所有 StyleRule;然后,根據選擇器的優(yōu)先級合并這些 StyleRule;最后,將合并結果與由 Style 生成的 StyleRule 合并,從而得出最終的樣式配置。

圖片圖片

這里順帶提一下,CSS 除了可以書寫樣式之外,還可以書寫偽元素和關鍵幀動畫,這兩者在都沒辦法直接設置到鴻蒙的樣式里,在處理某個節(jié)點時,如果匹配到這個節(jié)點的樣式里包含偽元素,就會把這個偽元素轉換成 一次 insertBefore api 的調用,用這個新 insert 進去的子元素來承載偽元素的 StyleRule,舉一個例子,下面的 F 節(jié)點的 CSS 樣式里帶有一個 ::after 的偽類,那么當 F 節(jié)點匹配到這個樣式的時候,就會被插入一個子節(jié)點用來承載 ::after 對應的樣式。

圖片圖片

而對于匹配到關鍵幀的動畫,會把動畫對應的元素,動畫播放的次數、播放的方向、播放的緩動函數收集起來放到另外的線程,由這個線程算出元素每一幀對應的屬性值,并在元素當前幀的 StyleRule 設置完之后,設置到節(jié)點上,保證動畫的優(yōu)先級一定是最高的。

樣式的應用

確定了節(jié)點對應的樣式表后,我們就到了把樣式應用到節(jié)點上這個環(huán)節(jié)了。這個環(huán)節(jié)我們會調用節(jié)點的 SetStyle 方法,遍歷 StyleRule 中的所有樣式。對于布局相關的屬性(如 display、position、float、flex、width、height、margin、padding),如需更新,會被設置到節(jié)點對應的 Yoga 節(jié)點上,同時為節(jié)點本身添加 layout_dirty 標記。接著,判斷是否有繪制相關的屬性需要更新,如果有,則設置到節(jié)點對象的臨時屬性上,并為節(jié)點添加 draw_dirty 標記。這些被標記的節(jié)點并不會立刻被處理,而是會被納入下一幀的樣式處理隊列中,這樣能避免同一幀多次設置同一個結點的相同屬性,確保樣式更新的高效性,同時也能保證布局屬性和繪制屬性設置到鴻蒙節(jié)點時的前后時序。

圖片圖片

在標記完所有需要更新的節(jié)點后,下一幀的樣式處理流程就會對這些節(jié)點進行處理。首先,系統(tǒng)會調用 Yoga 的 calcYGLayout 函數,讓 Yoga 從根節(jié)點開始對所有的 Yoga 節(jié)點進行測算。在此過程中,布局信息發(fā)生改變的 Yoga 節(jié)點會被打上 has_new_layout 的標記,節(jié)點上的信息也會被更新。

我們用一個例子來說明Yoga如何判斷布局變化的影響范圍:假設節(jié)點E的寬度改變,這可能影響到依賴父元素寬度的子元素以及由子元素撐開寬度的父元素。計算后,系統(tǒng)可能會更新A、B、C、E、F、H等節(jié)點。

圖片圖片

測算完成后,我們遍歷Yoga節(jié)點樹,找出標記為has_new_layout的節(jié)點,并將其width、height、x、y值更新到對應的鴻蒙節(jié)點上。這樣,所有節(jié)點的布局信息就更新完畢了。

布局更新完成后,我們再把前一幀中添加到樣式處理隊列的節(jié)點拿出來。將存儲在節(jié)點臨時對象中的繪制屬性轉移到鴻蒙節(jié)點上。在這個環(huán)節(jié)里大多數繪制屬性可以直接設置,少量依賴節(jié)點布局信息的屬性(如百分比形式的 background-size)也可以利用新計算出的布局信息來準確確定這些屬性的值。

樣式的更新

了解了初始化狀態(tài)的樣式工作流程后,我們再回過頭來看一下樣式更新部分的邏輯,在這一塊邏輯里,樣式的匹配和應用與前面的流程沒有任何區(qū)別,所以只是簡單介紹一下一個節(jié)點的樣式是怎么被更新的。

?Style更新

Style 的更新是相對比較好處理的一部分,因為 Style 的影響范圍只在節(jié)點的本身。當元素的 Style 更新時,我們只需要重新生成對應的 inline_style_,然后將其與通過 className 生成的樣式進行合并應用即可。這個過程相對簡單直接,因為不需要考慮對其他元素的影響。通過這種方式,我們可以確保元素的樣式得到準確更新,同時保持整體樣式系統(tǒng)的一致性和效率。

?ClassName更新

當元素的 ClassName 更新時,我們需要執(zhí)行以下步驟來確保樣式正確應用:

  • 識別包含新 ClassName 的所有選擇器規(guī)則。
  • 根據 ClassName 在規(guī)則中的位置,確定需要重新進行樣式匹配的元素:

a.目標元素選擇器:更新當前節(jié)點

b.直接后代選擇器:更新直接子節(jié)點

c.后代選擇器:更新所有子孫節(jié)點

這些規(guī)則適用于 className 的增加、刪除、修改和查詢操作。對于 className 的修改,我們將其視為先刪除舊 className 再添加新 className,并執(zhí)行兩次規(guī)則匹配。

舉一個例子,當樣式規(guī)則和元素結構如下時:

.E .G {}
.E .H {}
.I > .J {}
.I {}

圖片圖片

為藍色的節(jié)點添加className I,為紅色的節(jié)點添加className E,那么需要要被更新的節(jié)點就有 F G H I J

圖片圖片

在實際應用中,我們還需考慮性能問題。對于大型應用或復雜的元素結構,頻繁的樣式重計算可能會影響性能。因此,我們采取了一種優(yōu)化策略:找出需要更新的節(jié)點后,不會立即進行樣式重匹配,而是將這些節(jié)點標記為"臟"并放入更新隊列中。然后,我們在下一幀統(tǒng)一完成所有樣式重匹配的工作。這種方法可以有效減少重復計算,提高整體性能。

4.總結

通過本文,我們詳細闡述了Taro在處理CSS樣式與鴻蒙系統(tǒng)ArkUI框架之間差異的全流程。我們探討了樣式書寫方式的不一致性、樣式匹配和應用的復雜過程,以及樣式更新時的處理策略。這些功能和特性使得Taro能夠在保持跨平臺兼容性的同時,實現CSS樣式到鴻蒙系統(tǒng)的有效轉換。

作為開發(fā)者,我們深知這個過程中面臨的挑戰(zhàn),但也為最終取得的成果感到自豪。通過這種方法,我們?yōu)殚_發(fā)者提供了一個統(tǒng)一且強大的多端開發(fā)解決方案,使他們能夠更加高效地開發(fā)跨平臺應用。

我們相信,隨著技術的不斷進步,未來還會出現更多的優(yōu)化空間。我們將繼續(xù)致力于改進Taro的性能和兼容性,為開發(fā)者提供更好的開發(fā)體驗。同時,我們也歡迎社區(qū)的反饋和貢獻,共同推動Taro在多端開發(fā)領域的發(fā)展。

責任編輯:武曉燕 來源: 京東技術
相關推薦

2021-01-28 15:25:11

W3CIETFWebRTC

2012-04-13 09:55:20

CSSWEB

2012-07-05 10:02:39

CSS

2021-05-20 15:11:59

鴻蒙HarmonyOS應用

2009-04-03 09:06:00

瀏覽器W3C標準

2012-04-06 13:18:58

IE6W3CDIV

2010-09-28 09:38:22

DOM模型

2021-01-28 21:40:25

webRTC音視頻Web

2011-09-07 17:28:15

2016-08-05 13:29:39

w3c流程css

2011-10-24 13:05:50

2010-05-23 10:11:01

Widget開發(fā)

2011-10-24 14:16:13

XML加密算法XML加密

2012-10-09 10:29:28

谷歌蘋果W3C

2016-07-19 17:20:32

W3C

2009-03-28 09:51:12

2021-12-01 18:22:16

程序W3C標準

2012-12-19 09:33:20

HTML5

2024-05-17 09:38:00

2009-03-21 10:19:43

微軟瀏覽器IE8
點贊
收藏

51CTO技術棧公眾號

激情文学亚洲色图| 久久婷婷开心| 9999热视频| 国产精品国产| 在线观看成人免费视频| 中文字幕日韩精品一区二区| 亚洲春色一区二区三区| 亚洲欧美日韩一区在线观看| 中文字幕无线精品亚洲乱码一区 | 一区二区在线不卡| www.黄色小说.com| 丝袜美腿亚洲综合| 久久97精品久久久久久久不卡| 在线观看av中文字幕| 韩日一区二区| 偷拍与自拍一区| 欧美日韩在线免费观看视频| 日韩三级电影网| 国产自产视频一区二区三区| 国产999在线观看| 天堂资源在线播放| 牛夜精品久久久久久久99黑人| 国产视频久久网| 在线播放第一页| 国产高清日韩| 欧美剧在线免费观看网站| 欧美三级在线观看视频| 国产二区三区在线| 国产精品久久久久久久久久免费看 | 欧美激情在线播放| 成年人网站在线观看视频| 免费观看不卡av| 日韩精品在线观看网站| 91人人澡人人爽| www.久久热| 欧美日韩国产一区| 91av在线免费播放| 涩涩在线视频| 福利二区91精品bt7086| 欧美精品久久久久久久久久久| 福利视频在线| 亚洲另类一区二区| 国产又大又长又粗又黄| 一区二区三区视频网站| 国产日韩欧美一区二区三区综合| 美国av一区二区三区| 瑟瑟在线观看| 久久综合九色综合97_久久久| 国产精品亚洲综合| 亚洲精品成av人片天堂无码| 国产一区啦啦啦在线观看| 国产日本欧美一区| 国产精品福利电影| 激情综合色综合久久| 国产欧美日韩中文字幕在线| 一区精品在线观看| 韩国av一区二区三区四区| 国产欧美久久一区二区| 国产精品高潮呻吟AV无码| 国内不卡的二区三区中文字幕| 91精品久久久久久久久不口人| 夜夜躁很很躁日日躁麻豆| 免费看欧美女人艹b| 成人免费激情视频| 国产aⅴ爽av久久久久成人| 国产精品一区免费在线观看| 97自拍视频| 午夜一区在线观看| 久久久久久久久久久电影| 日韩福利二区| 免费观看在线黄色网| 亚洲蜜桃精久久久久久久| 国产美女作爱全过程免费视频| 久久香蕉一区| 色av成人天堂桃色av| 亚洲视频一二三四| 一区二区三区四区精品视频| 日韩成人av在线播放| 亚洲国产日韩一区无码精品久久久| 日韩在线视频精品| 欧美国产极速在线| 欧美日韩综合一区二区三区| 久热成人在线视频| 成人在线视频网址| 免费看男男www网站入口在线 | 国产一区二区在线看| 高清av免费一区中文字幕| 天天操天天干天天操| 国产日韩v精品一区二区| 穿情趣内衣被c到高潮视频| 国产美女福利在线观看| 色94色欧美sute亚洲线路二| 成人免费黄色av| 牲欧美videos精品| 色吧影院999| 色播视频在线播放| 久久99国产精品久久99果冻传媒| 国产精品亚洲不卡a| 国产精品一级伦理| 亚洲一区在线观看网站| 爆乳熟妇一区二区三区霸乳| **爰片久久毛片| 一区二区亚洲欧洲国产日韩| 久草福利资源在线观看| 日韩福利电影在线| 91在线看网站| 在线免费av电影| 精品欧美一区二区三区| 加勒比av中文字幕| 精品99久久| 97碰在线观看| 亚洲爱爱综合网| 国产精品女主播在线观看| 免费看国产一级片| 精品国产乱码一区二区三区| 这里只有精品在线观看| 国产一级18片视频| 成人国产亚洲欧美成人综合网 | 精品人伦一区二区三区| 成人免费高清| 欧美日韩美少妇| 精品欧美一区二区久久久| 亚洲国产激情| 成人精品水蜜桃| 伊人精品影院| 欧美一区二区三区爱爱| 国精产品一区一区| 天堂成人免费av电影一区| 国产欧美日韩视频一区二区三区| 欧洲日本在线| 欧美日韩三级视频| 亚洲第一综合网| 石原莉奈一区二区三区在线观看| 狠狠色噜噜狠狠色综合久| 欧美黑人猛交| 日韩精品一区二区三区中文不卡 | 91久久国产精品91久久性色| www.黄在线观看| 欧洲激情一区二区| 免费看91的网站| 免费国产亚洲视频| 视频一区不卡| 久久精品xxxxx| 自拍视频国产精品| 岳乳丰满一区二区三区| 欧美经典一区二区| 91最新在线观看| 日韩不卡一区| 91精品免费久久久久久久久| 精品麻豆一区二区三区| 欧美一级精品在线| 久久久久久国产精品视频| 国产高清在线精品| 国产精品videossex国产高清| 九九99久久精品在免费线bt| 欧美日本精品在线| 天天干在线观看| 欧美视频在线免费看| 30一40一50老女人毛片| 日韩中文字幕区一区有砖一区| 日韩在线国产| 超碰国产精品一区二页| 久久夜色精品亚洲噜噜国产mv| xxxwww在线观看| 天天色图综合网| 欧美色图亚洲激情| 奇米888四色在线精品| 影音先锋亚洲视频| 一区二区网站| 日本精品免费观看| 日本视频在线观看| 精品国产一区二区三区不卡 | 天天色天天射天天综合网| 亚洲国产精品999| 四虎影院在线免费播放| 亚洲视频小说图片| 美女露出粉嫩尿囗让男人桶| 久久久久欧美精品| 国产成人三级视频| 精品视频高潮| 国产精品香蕉国产| 123区在线| 日韩专区在线播放| 欧美一级在线免费观看| 91久久精品一区二区| 玖玖爱这里只有精品| 91日韩一区二区三区| 奇米视频7777| 米奇777在线欧美播放| 中文字幕剧情在线观看一区| 激情亚洲另类图片区小说区| 国产精品视频地址| 丁香花在线电影小说观看| 亚洲无线码在线一区观看| 国产成人av免费看| 在线精品视频一区二区三四| 青青操视频在线播放| 国产欧美日韩中文久久| 动漫av在线免费观看| 老司机免费视频一区二区三区| www.在线观看av| 欧美日韩国产高清电影| 官网99热精品| 999精品视频在线观看| 国产69久久精品成人| av激情在线| 国产一区二区精品丝袜| 亚洲 欧美 自拍偷拍| 日韩三级.com| 一级二级三级视频| 在线观看免费视频综合| 日韩av综合在线| 亚洲精品视频免费看| 少妇人妻好深好紧精品无码| va亚洲va日韩不卡在线观看| 手机在线免费毛片| 蜜臀久久久99精品久久久久久| 国产妇女馒头高清泬20p多| 久久美女精品| 三区精品视频观看| 免费欧美一区| 好看的日韩精品| 国产福利一区二区精品秒拍| 亚洲free性xxxx护士hd| 日韩专区视频网站| 国产精品久久久久久久久久东京 | 91久久嫩草影院一区二区| yw.尤物在线精品视频| 欧美一区二区影院| 国产盗摄——sm在线视频| 欧美麻豆久久久久久中文| 免费在线观看黄| www日韩中文字幕在线看| 国产美女视频一区二区三区| 精品一区电影国产| 性感美女福利视频| 日韩国产精品一区| 日批视频在线播放| 精品1区2区在线观看| 亚洲黄色在线播放| 精品av久久707| 无码精品人妻一区二区| 亚洲国产精品成人精品| 国产综合视频在线| 亚洲精品第一国产综合精品| 神马久久久久久久久久| 亚洲精品国精品久久99热一| 五月天福利视频| 亚洲美女久久久| 精品av中文字幕在线毛片| 亚洲男人天堂2019| 国产精品一级伦理| 日韩色av导航| 2021国产在线| 亚州av一区二区| 原纱央莉成人av片| 国产伦精品一区二区三区精品视频| www.26天天久久天堂| 成人综合网网址| 中文久久电影小说| 久久久精彩视频| 精品色999| 色哺乳xxxxhd奶水米仓惠香| 欧美激情自拍| 欧美 激情 在线| 美女网站一区二区| 绯色av蜜臀vs少妇| 久久综合久久鬼色中文字| 国产成人在线网址| 亚洲精品精品亚洲| 青青国产在线观看| 欧美性大战久久久久久久蜜臀| 国产精品九九九九| 亚洲成人久久久久| 国产一级片在线| 久久不射电影网| 中文字幕成在线观看| 国产精品免费久久久久久| 不卡一区视频| 久久久久久九九九九| 欧美aaaa视频| 日韩五码在线观看| 毛片一区二区三区| 美女伦理水蜜桃4| 国产欧美日本一区视频| 免费中文字幕视频| 欧美视频中文字幕| 亚洲精品视频专区| 中文字幕视频在线免费欧美日韩综合在线看| 成人在线直播| 欧美诱惑福利视频| 高清久久一区| 欧美日韩一区二区三区免费| 亚洲综合婷婷| 日本老熟妇毛茸茸| 成人激情av网| 久久高清内射无套| 91成人国产精品| 黄色av网址在线| 日韩最新免费不卡| 91精品论坛| 成人免费视频网站| 手机在线一区二区三区| 国产日产欧美视频| 国产福利91精品一区二区三区| 熟女少妇内射日韩亚洲| 亚洲成人av一区二区| 国产精品无码一区二区桃花视频| 亚洲女人天堂网| 91av久久| 99理论电影网| 亚洲国产日韩欧美在线| 欧美日韩在线观看不卡| 91美女视频网站| 国产午夜视频在线播放| 91精品国产综合久久香蕉的特点| 成人午夜影视| 欧美专区日韩视频| 精品无人区一区二区| 久久福利一区二区| 精品一区二区三区不卡 | 91精品久久久久久久| 欧洲专线二区三区| 免费无遮挡无码永久视频| 国产成人h网站| 强乱中文字幕av一区乱码| 69堂国产成人免费视频| 8888四色奇米在线观看| 日韩av免费看网站| 亚洲精品国模| 91猫先生在线| 99re热这里只有精品视频| 国产一级淫片免费| 精品成人a区在线观看| 青春草在线视频| 999视频在线免费观看| 综合激情婷婷| 中文字幕人妻无码系列第三区| 一区在线播放视频| 国产一区二区网站| 啊v视频在线一区二区三区| 亚洲国产天堂| 丰满女人性猛交| 国产一区二区视频在线播放| 成人高潮免费视频| 91精品国产黑色紧身裤美女| 超碰在线免费公开| 91美女精品网站| 亚洲女同一区二区| 亚洲性在线观看| 久久久精品国产| 成年永久一区二区三区免费视频| 亚洲欧洲国产精品久久| 久久国产精品72免费观看| 国产亚洲精品久久久久久豆腐| 欧美久久久久中文字幕| 黄色成年人视频在线观看| 成人在线中文字幕| 电影在线高清| 亚洲精品伦理在线| 伊人久久亚洲综合| 久久久成人av| 伊人久久大香线蕉av超碰| 亚洲色欲久久久综合网东京热| 成人福利电影精品一区二区在线观看| 日韩免费一二三区| 日韩精品极品在线观看| 三级成人黄色影院| 亚洲欧洲一二三| 国产精品一区一区| 日韩av在线播| 国产午夜精品全部视频播放| 日韩综合av| 男人插女人视频在线观看| 91免费观看视频| 一区二区精品视频在线观看| 欧美激情成人在线视频| 秋霞综合在线视频| www.国产视频.com| 亚洲一区二区三区中文字幕| 精品三级久久久久久久电影聊斋| 成人写真福利网| 夜夜嗨一区二区三区| 日韩福利在线视频| 精品电影一区二区三区| 美女网站视频一区| 欧美交换配乱吟粗大25p| 久久综合成人精品亚洲另类欧美 | 色视频成人在线观看免| 欧美性天天影视| 蜜桃av久久久亚洲精品| 国内久久婷婷综合| 欧美精品二区三区| 久久视频在线直播| 国产高清不卡| 欧美裸体男粗大视频在线观看| 欧美五码在线| 一区二区久久精品| 韩曰欧美视频免费观看| 国产激情在线视频|