精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

三级黄色在线观看| 久久久亚洲精品无码| 99热精品在线播放| 国产精品日韩| 日韩中文字幕免费视频| 色哟哟网站在线观看| 韩国美女久久| 亚洲精品你懂的| 国产一区二区免费在线观看| 亚洲精品国产欧美在线观看| 欧美日韩调教| 色综合伊人色综合网站| 国产成人av无码精品| 国产精品伊人| 狠狠躁夜夜躁人人爽天天天天97| 亚洲图片在线观看| 西西人体44www大胆无码| 欧美a级理论片| 97在线视频免费观看| 国产精品夜夜夜爽阿娇| 偷拍自拍亚洲色图| 日韩精品一区二| mm131国产精品| 成人欧美大片| 亚洲成人在线观看视频| 亚洲自拍三区| h视频在线播放| 99视频在线精品| 91传媒视频在线观看| 亚洲av无码乱码国产精品fc2| 日韩亚洲国产欧美| 欧美乱妇40p| 任我爽在线视频| 精品久久一区| 亚洲女成人图区| 在线观看国产三级| 欧美偷窥清纯综合图区| 亚洲精品一区二区三区99| 一级黄色在线播放| 免费视频观看成人| 欧美色涩在线第一页| 成人久久久久久久久| 国产高潮在线| 五月婷婷另类国产| 成年人午夜视频在线观看| 日本色护士高潮视频在线观看| 国产精品的网站| 自拍视频一区二区三区| 日本在线观看视频| ●精品国产综合乱码久久久久| 天堂精品一区二区三区| 成人激情电影在线看| 国产农村妇女毛片精品久久麻豆 | 久久成人福利视频| 日本资源在线| 午夜久久久影院| 亚洲 欧美 日韩 国产综合 在线| 国产h片在线观看| 精品欧美国产一区二区三区| 男人操女人逼免费视频| 成人欧美一区二区三区的电影| 日本二三区不卡| 奇米影音第四色| 四虎国产精品免费久久| 在线不卡a资源高清| 五月天激情播播| 欧美成年网站| 亚洲国产天堂久久综合网| 国产乱了高清露脸对白| 欧美激情在线精品一区二区三区| 国产亚洲欧洲在线| 少妇高潮惨叫久久久久| 午夜精品电影| 2020久久国产精品| 中文字幕日本视频| 国产成人一区在线| 久久一区二区精品| 69久久精品| 一区二区三区精品视频| 欧美啪啪免费视频| 日韩电影大全网站| 制服视频三区第一页精品| 国产艳妇疯狂做爰视频| 婷婷激情久久| 久久综合伊人77777| 一级aaa毛片| 美腿丝袜亚洲一区| 国产一区二区三区高清视频| 国产福利小视频在线观看| 亚洲品质自拍视频| 丝袜老师办公室里做好紧好爽| 成人全视频免费观看在线看| 日韩欧美黄色影院| av网站免费在线看| 中文av一区| 国产97人人超碰caoprom| 国产农村妇女毛片精品久久| 99re成人在线| 公共露出暴露狂另类av| 色在线中文字幕| 日韩一区二区三区四区五区六区| 给我看免费高清在线观看| 91精品综合久久久久久久久久久| 97久久国产精品| 国产精品欧美亚洲| 久久久精品天堂| 国产精品成人久久电影| 四虎精品一区二区免费| 亚洲老头同性xxxxx| 麻豆91精品91久久久| 日韩激情视频在线观看| 国产综合动作在线观看| 很黄的网站在线观看| 色老汉av一区二区三区| 国产高潮视频在线观看| 我不卡神马影院| 国产精品男人的天堂| 五月婷婷六月丁香| 一区二区三区四区视频精品免费 | 国产欧美一区二区三区在线老狼| 欧美图片激情小说| 国产精品欧美一区二区三区不卡| 亚洲天堂av网| 青青草免费观看视频| 成人国产精品视频| 日本三日本三级少妇三级66| 日韩制服诱惑| 亚洲女同精品视频| 免费看日韩毛片| 国产91在线看| 老司机午夜免费福利视频| 欧美xnxx| 国产亚洲精品久久久久久| 91video| 国产福利精品导航| 久久99国产精品一区| 国精品产品一区| 国产亚洲美女久久| 日批视频免费在线观看| 91麻豆视频网站| 每日在线更新av| 牛牛精品成人免费视频| 久久久久久av| 亚洲精品成人电影| 一个色综合网站| 国产精品嫩草影视| 一区二区电影| 99久久自偷自偷国产精品不卡| 麻豆传媒视频在线观看| 欧美丰满美乳xxx高潮www| 粉嫩精品久久99综合一区| 热久久国产精品| 亚洲精品一区二区三区四区五区| 欧美free嫩15| 色爱精品视频一区| 国产伦子伦对白视频| 综合在线观看色| 人妻换人妻仑乱| 影音先锋中文字幕一区| 精品一区二区国产| 你懂得影院夜精品a| 色综久久综合桃花网| 国产精品色综合| 亚洲影视资源网| 一本加勒比波多野结衣| 视频一区国产视频| 一区二区三区av| 一本色道69色精品综合久久| 国内精品模特av私拍在线观看| 四虎精品成人免费网站| 欧美中文一区二区三区| 裸体武打性艳史| 波波电影院一区二区三区| 国产真实乱子伦| 婷婷久久综合| 国产成人看片| 国产综合色区在线观看| 久久久国产影院| 天堂网在线观看视频| 在线亚洲人成电影网站色www| 51精品免费网站| 99久久综合国产精品| 国产又大又黄又粗又爽| 欧美视频成人| 日韩在线国产| 无码国模国产在线观看| 国产精品xxx视频| 视频在线这里都是精品| 国产午夜精品免费一区二区三区 | 69精品国产久热在线观看| 欧美在线视频免费| gogogogo高清视频在线| 精品一区二区三区四区| 国产免费福利视频| 精品国产精品三级精品av网址| 色欲狠狠躁天天躁无码中文字幕| 高清av一区二区| 五月婷婷六月丁香激情| 亚洲精品资源| 一区二区三区四区国产| 亚洲免费观看高清完整版在线观| 91精品在线影院| 欧美极品影院| 国模精品视频一区二区| 黄色成人在线| 一区二区成人av| 午夜国产在线观看| 欧美一级二级在线观看| 亚洲高清视频免费观看| 亚洲第一精品在线| 天堂网avav| 国产精品私人自拍| 玖草视频在线观看| 成人午夜私人影院| 小早川怜子一区二区三区| 日韩高清在线不卡| 久草资源站在线观看| 亚洲欧美综合| 国产又粗又爽又黄的视频| 日产精品一区二区| 欧美一区二区综合| 精品人人人人| 国产精品综合久久久久久| 97久久中文字幕| 国产97色在线| 桃花岛成人影院| 日本三级久久久| 欧美激情护士| 91黑丝高跟在线| gogo高清在线播放免费| 欧美片一区二区三区| 国产剧情在线| 久久夜色撩人精品| av片在线观看免费| 久久精品成人一区二区三区 | 中文字幕一区二区三区乱码在线 | 4438x全国最大成人| 国产一区二三区好的| 一级黄色片在线免费观看| 精品中文字幕一区二区小辣椒| 中文字幕国内自拍| 免费人成黄页网站在线一区二区| 已婚少妇美妙人妻系列| 久久天堂成人| 男女污污的视频| 久久国产精品第一页| 亚洲a级黄色片| 国产美女一区二区| 国产sm在线观看| 成人免费看黄yyy456| 精品国产一区在线| 久久综合成人精品亚洲另类欧美| 欧美熟妇精品黑人巨大一二三区| av成人免费在线| 波多野结衣av在线免费观看| 久久一二三国产| 先锋影音av在线| 亚洲欧洲国产日韩| 国产亚洲精品码| 精品欧美国产一区二区三区| 亚洲国产成人精品女人久久| 欧美性生交片4| 国产精品一区二区三区在线免费观看 | www.国产区| 理论电影国产精品| 中文字幕一二三| 91在线你懂得| 韩国三级hd中文字幕| 亚洲三级久久久| 香蕉视频一区二区| 日本韩国欧美国产| 国产视频在线观看免费| 欧美va亚洲va在线观看蝴蝶网| 天堂中文网在线| 国产亚洲精品久久| 天堂av在线电影| 国产91色在线| 精品中文视频| 欧美黄色直播| 亚洲精品午夜av福利久久蜜桃| www.射射射| 免费人成在线不卡| 欧美性生交xxxxx| 国产欧美视频一区二区三区| 91精品国产高清一区二区三蜜臀| 欧美丝袜美女中出在线| 国产成人三级在线播放| 国产午夜精品理论片a级探花| 老司机在线视频二区| 91精品国产高清自在线| 亚洲图片小说区| 久久久久久久久四区三区| 我不卡影院28| 北条麻妃av高潮尖叫在线观看| 国产精品影视天天线| 国产交换配乱淫视频免费| 亚洲精品欧美在线| 自拍偷拍精品视频| 亚洲精品动漫100p| а√天堂资源地址在线下载| 国产精品成久久久久三级| 国产精品香蕉| 91免费网站视频| 天堂蜜桃一区二区三区| 无码任你躁久久久久久老妇| 专区另类欧美日韩| 亚洲第一网站在线观看| 精品少妇一区二区三区在线视频| 在线免费看av| 日韩免费观看av| 日韩欧美在线精品| 欧美高清中文字幕| 国内欧美视频一区二区| 国产三级在线观看完整版| 欧美性色xo影院| 蜜桃视频久久一区免费观看入口 | 2025国产精品自拍| 欧美午夜精品免费| 免费看男男www网站入口在线| 欧美高清在线视频观看不卡| 国产精品3区| 中文字幕中文字幕在线中心一区 | 国产欧美精品va在线观看| 在线观看欧美理论a影院| 秋霞无码一区二区| 粉嫩欧美一区二区三区高清影视| www.毛片com| 91麻豆精品国产91久久久久久久久 | 成人一区在线观看| 久草综合在线视频| 91精品国产麻豆国产自产在线| 91.xxx.高清在线| 国产欧美久久一区二区| 全球成人免费直播| 91网址在线播放| 国产精品你懂的| 亚洲视频在线观看一区二区| 这里只有精品视频在线| 日韩不卡在线| 日韩一区二区三区高清| 蜜臀久久99精品久久久画质超高清 | 成人黄色小视频| 香港日本韩国三级网站| 国产精品久久久久国产精品日日| 在线播放成人av| 久热国产精品视频| 中文字幕一区二区三区中文字幕| www.亚洲视频.com| 99久久婷婷国产综合精品| 国产乱国产乱老熟| 国产性色av一区二区| 伊人久久大香伊蕉在人线观看热v 伊人久久大香线蕉综合影院首页 伊人久久大香 | 日韩性生活视频| 99精品视频在线免费播放| 国产一二三四五| 成人丝袜视频网| 五月婷婷视频在线| 在线亚洲欧美视频| 99视频有精品高清视频| 九九热只有这里有精品| 99久久久久久| 在线免费观看日韩视频| 欧美成人精品xxx| 黄色免费大全亚洲| 欧美aⅴ在线观看| 国产精品国产精品国产专区不片| 天天操夜夜操av| 国产精品久久久久三级| 国产又粗又黄又爽的视频| 成年无码av片在线| 婷婷综合国产| 国产精品沙发午睡系列| 国产欧美日韩视频在线观看| 91午夜交换视频| 久久久久久国产精品久久| 神马久久av| 中文字幕第100页| 亚洲三级在线播放| 午夜在线观看视频18| 国产精品69av| 欧美在线三级| 91精彩刺激对白露脸偷拍| 51久久夜色精品国产麻豆| 91豆花视频在线播放| 色女人综合av| 国产99久久久国产精品免费看| 日韩人妻精品中文字幕| 久久精品久久久久久| 日本在线中文字幕一区| 日韩av.com| 岛国av在线不卡| 在线观看av免费| 欧美一级日本a级v片| 国产一区二区三区精品视频| 一级片中文字幕| 欧美xxxx综合视频| 精品久久美女| 欧美 变态 另类 人妖| 日韩一级二级三级精品视频| 日韩三区免费|