欧美精品在线一区二区三区_亚洲女同精品视频_日韩一区免费_国产欧美久久久精品免费_国产这里只有精品_僵尸再翻生在线观看_久久99精品国产一区二区三区_亚洲免费一区二区_女教师淫辱の教室蜜臀av软件_中文字幕国产一区二区

滴滴出行小程序I18n最佳實踐

2020-8-15    seo達人

背景

I18n = Internationalization,國際化,因為單詞由首末字符i/n和中間18個字母組成,簡稱i18n。對程序來說,就是要在不修改內部代碼的情況下,能根據不同語言及地區顯示相應的界面,以支持不同語言的人順利使用程序。

業務背景

互聯網行業進入下半場,精細化運營是關鍵。多語言支持能讓產品更好地服務境內的其他語言用戶,也為產品出海打下基礎,隨著 WeChat/Alipay 的全球化,你的小程序是否做好準備了呢?

4月初,滴滴出行小程序團隊接到支持英文版的需求,預計上線時間為6月上旬。當前滴滴出行小程序集成的眾多業務線和各種公共庫,展示給用戶的有前端硬編碼的靜態文本和服務端下發的文案,都要同步接入多語言。考慮到小程序當前的體量,光文本收集、語料翻譯、npm package 支持,聯調,測試,溝通成本等等,并且前端開發只投入1.5人力的情況下,時間是蠻緊迫的,但是我們抗住了壓力,最終英文版滴滴出行小程序如期上線,截止目前運行穩定,用戶反饋良好,得到了超出預期的收益。

當然這一切得益于各團隊同學的工作,和各團隊的通力配合,更得益于部門技術團隊 Mpx框架優雅的多語言能力支持。劃重點來咯,所謂工欲善其事必先利其器,如果你的公司業務需要開發小程序,也需要接入多語言,那么請搬好小板凳,我們來看一下小程序框架 Mpx 是如何優雅支持多語言能力。相信看完這篇,可以幫助你認識 Mpx(https://github.com/didi/mpx) ,加深對框架的理解,最終利用 Mpx 框架迭代小程序,年終獎多出那部分可以打賞一下作者,買杯咖啡哈(偷笑.jpg)

以下是滴滴出行小程序的中英文版本對比:

滴滴出行微信小程序i18n

也歡迎大家在微信/支付寶里搜索滴滴出行小程序,實際使用感受下。PS:切換語言的方法是,打開小程序,點擊左上角用戶頭像,進入側邊欄設置頁面,點擊切換中英文即可體驗。

技術背景

在上述業務背景下,Mpx 框架——滴滴自研的專注提升小程序開發體驗的增強型小程序框架,內建 i18n 能力便提上日程。

與 WEB 不同,小程序(本文以微信小程序為例)運行環境采用雙線程架構設計,渲染層的界面使用 WebView 進行渲染,邏輯層采用 JSCore 線程運行 JS腳本。邏輯層數據改變,通過 setData 將數據轉發到 Native(微信客戶端),Native 再將數據轉發到渲染層,以此更新頁面。由于線程間通信成本較高,實際項目開發時需要控制頻次和數量。另外小程序的渲染層不支持運行 JS ,一些如事件處理等操作無法在渲染層實現,因此微信官方提供了一套腳本語言 WXS ,結合 WXML ,可以構建出頁面的結構(不了解 WXS ?戳這里)。

基于小程序的雙線程架構設計,實現 i18n 存在一些技術上的難點與挑戰,由于 Mpx 框架早期構建起來的強大基礎,最終得以優雅支持多語言能力,實現了和vue-i18n 基本一致的使用體驗。

使用

在使用上,Mpx 支持 i18n 能力提供的 API 與 vue-i18n 大體對齊,用法上也基本一致。

模板中使用 i18n

編譯階段通過用戶配置的 i18n 字典,結合框架內建的翻譯函數通過 wxs-i18n-loader 合成為可執行的 WXS 翻譯函數,并自動注入到有翻譯函數調用的模板中,具體調用方式如下圖。

// mpx文件 <template> <view> <view>{{ $t('message.hello', { msg: 'hello' })}}</view> 

<!-- formattedDatetime計算屬性,可基于locale變更響應刷新 --> <view>{{formattedDatetime}}</view> </view> </template>

JS 中使用 i18n

通過框架提供的 wxs2js 能力,將 WXS 翻譯函數轉換為 JS 模塊注入到 JS 運行時,使運行時環境中也能夠調用翻譯函數。

// mpx文件 <script> import mpx, { createComponent } from '@mpxjs/core' createComponent({ 

ready () { // js中使用 console.log(this.$t('message.hello', { msg: 'hello' }))

// 局部locale變更,生效范圍為當前組件內 this.$i18n.locale = 'en-US' setTimeout(() =>

{ // 全局locale變更,生效范圍為項目全局 mpx.i18n.locale = 'zh-CN' }, 10000)

}, computed: { formattedDatetime () { return this.$d(new Date(), 'long') } } }) </script>

定義 i18n 字典

項目構建時傳入 i18n 配置對象,主要包括語言字典和默認語言類型。

new MpxWebpackPlugin({ i18n: { locale: 'en-US',

// messages既可以通過對象字面量傳入,也可以通過messagesPath指定一個js模塊路徑,

在該模塊中定義配置并導出,dateTimeFormats/dateTimeFormatsPath和numberFormats/numberFormatsPath同理

messages: { 'en-US': { message: { hello: '{msg} world' }

}, 'zh-CN': { message: { hello: '{msg} 世界' } } }, // messagesPath: path.resolve(__dirname, '../src/i18n.js') } })

如果是通過 Mpx 提供的 cli 工具生成的項目,這部分配置會在 mpx.conf.js 文件中,不光可以直接內聯寫在該文件中,也可以指定語言包的路徑。

以上,Mpx 的 i18n 方案接入成本低,使用優雅,體驗優秀。直觀感受可參考下面 mpx i18n demo :https://github.com/didi/mpx/t...

方案

Mpx框架的 i18n 支持幾乎完全實現了 vue-i18n 的全部能力,下面我們來詳細說明 Mpx 框架 i18n 能力的具體實現。

方案探索

基于小程序運行環境的雙線程架構,我們嘗試了不同方案,具體探索過程如下:

方案一:基于 Mpx 框架已提供的數據增強能力 computed 計算屬性,來支持 i18n 。該方案與 uniapp 的實現思路相似(后文會進行對比分析),存在一定不足,包括線程通信帶來的性能開銷和for循環場景下的處理較復雜等,最終放棄。
方案二:基于 WXS + JS 支持 i18n 適配。通過視圖層注入 WXS,將 WXS 語法轉換為 JS 后注入到邏輯層,這樣視圖層和邏輯層均可實現 i18n 適配,并且在一定程度上有效減少兩個線程間的通信耗時,提高性能。

從性能和合理性上考慮,我們最終采用了方案二進行 Mpx 的 i18n 方案實現。

mpx-i18n內部流程示意圖

Mpx i18n 架構設計圖

由于各大小程序平臺上,WXS 語法和使用均存在較大差異,因此該方案實現過程中也存在一些技術上的難點,這些難點基于 Mpx 框架的早期構建起來的跨平臺能力也一一得以攻克,具體如下。

實現難點

WXS 在模板中運行的跨平臺處理

WXS 是運行在視圖層中的 JS,可以減少與邏輯層通信耗時,提高性能。因此 Mpx 框架在迭代初期便已支持在模板和 JS 運行環境使用 WXS 語言,并且針對小程序跨平臺 WXS 語法進行抹平。
在模板中,Mpx 自定義一個 webpack chunk template,以微信 WXS 作為 DSL,利用 babylon 將注入的 WXS 轉化成 ast,然后遍歷 ast 節點,抹平各大平臺對 WXS 語法的處理差異,輸出各平臺可以識別的類 WXS 文件。目前主要支持微信(WXS)、支付寶(sjs)、百度(filter)、QQ(qs)、頭條(sjs)等小程序平臺。

WXS 在邏輯層運行的跨平臺處理

WXS 與 JavaScript 是不同的語言,有自己的語法,并不和 JavaScript 一致。并且 WXS 的運行環境和其他 JavaScript 代碼是隔離的,WXS 中不能調用其他 JavaScript 文件中定義的函數,也不能調用小程序提供的API。
因此在邏輯層,Mpx 將注入的 WXS 語法轉化為 JS,通過 webpack 注入到當前模塊。例如 WXS 全局方法 getRegExp/getDate 在 JS 中是無法調用的,Mpx將它們分別轉化成 JS 模塊,再通過 webpack addVariable 將模塊注入到 bundle.js 中。
同理,Mpx 會將編譯時注入的 i18n wxs 翻譯函數和 i18n 配置對象掛載到全局 global 對象上,利用 mixin 混入到頁面組件,并監聽 i18n 配置對象,這樣JS和模板中即可直接調用 i18n 翻譯函數,實現數據響應。

以上便是 Mpx 框架在小程序中支持 i18n 能力的技術細節,由于 WXS 是可以在視圖層執行的類 JS 語法的一門語言,這樣就減少了小程序邏輯層和視圖層的通信耗時,提升性能。但是由于實現依賴類 WXS 能力,以及 WXS 執行環境的限制,目前模板上可直接使用的翻譯函數包括 $t/$tc/$te ,如果需要格式化數字或日期可以使用對應的翻譯函數在 JS 中 Mpx 提供的計算屬性中實現。

輸出 web 時使用 i18n

Mpx同時還支持轉換產出H5,而 Mpx 提供的 i18n 能力在使用上與 vue-i18n 基本一致,輸出 web 時框架會自動引入 vue-i18n,并使用當前的 Mpx i18n 配置信息對其進行初始化,用戶無需進行任何更改,即可輸出和小程序表現完全一致的 i18n web 項目。

對比

上面分析了 Mpx 框架的 i18n 方案的技術細節,我們來看下和其他方案的對比,主要是和 uniapp - 基于 Vue 編寫小程序的方案,和微信官方的方案,兩者提供的 i18n 支持與Mpx的對比有何優劣。

uniapp的方案

uniapp 提供了對 i18n 能力的支持,是直接引入vue-i18n。但小程序中無法在模板上調用 JS 方法,本質上是利用計算屬性 Computed 轉換好語言,然后利用模板插值在小程序模板中使用。

模板中:
<view>{{ message.hello }}</view>

JS里需要寫:

 computed: {  
    message () { return { hello: this.$t('message.hello') }
    }
  }

因此該方案存在一個性能問題,最終的渲染層所看到的文本還是通過 setData 跨線程通信完成,這樣就會導致線程間通信增多,性能開銷較大。

并且,早期這種形式使用成本較高,后來 uniapp 也針對其做過優化,實現了可以在模板上寫 $t() 的能力,使用上方便了不少。

這個 t() 的實現是在編譯時候識別到t 就自動替換,幫你替換成一個 uniapp 的 computed 數據,因此數據部分還是和之前一樣要維護兩份。尤其是模板上的for循環,即使 for 里只有一個數據要被轉換,整個列表都要被替換成一個計算屬性,在線程間通信時進一步加大了性能開銷。

微信官方的方案

微信小程序本身也提供了一個 i18n 的方案,倉庫地址是:wechat-miniprogram/miniprogram-i18n 。

這個方案從 i18n 本身的實現來講和Mpx框架的設計是類似的,也是基于 WXS 實現(英雄所見略同啊)。但因為周邊配套上沒有完整的體系,整體使用體驗上就也略遜于基于Mpx框架來開發支持 i18n 的國際化小程序了。

主要的點就是,官方提供的方案,要基于 gulp 工具進行一次額外構建,同時在JS中使用時候還要額外引入一個 behavior 去讓JS中也可以使用翻譯能力。

而Mpx框架通過一次統一的Webpack構建產出完整的內容,用戶無需擔心語言包更新后忘記重新構建,在JS中使用的時候不光更方便,而且語言信息還是個響應式的,任何組件都可以很方便地監聽語言值的變化去做一些其他的事情。

最后,Mpx的 i18n 方案對比微信官方的方案還有個巨大的優點,結合Mpx的跨平臺能力,能實現均以這個方案,一套代碼產出支持微信/支付寶/百度/QQ/頭條多個平臺的支持 i18n 的小程序。

總結

Mpx 框架專注小程序開發,期望為開發者提供最舒適的開發體驗,有眾多優秀的功能特性,幫助開發者提效。本文介紹的是其內置的 i18n 能力,通過對比分析得出相比其他框架方案在使用成本和性能等方面有明顯的優勢,歡迎各位有相關需求的同學進行體驗嘗試。

未來 Mpx 還會持續迭代優化,提供更多更好的能力幫助小程序開發者提效。在使用過程中遇到任何問題,歡迎大家在 Git 上提 issue,團隊成員會及時響應。同時也鼓勵大家一起為開源社區做貢獻,參與到 Mpx 共建中來,為小程序技術發展添磚加瓦。

Git地址 [https://github.com/didi/mpx]
Mpx文檔 [https://mpxjs.cn/]

歡迎技術交流與反饋,順便star一下鼓勵開源項目貢獻者,我們將持續發力貢獻社區。

附:以往Mpx文章鏈接
滴滴開源小程序框架Mpx - https://mpxjs.cn/articles/1.0.html
滴滴小程序框架Mpx發布2.0,支持小程序跨平臺開發,可直接轉換已有微信小程序 - https://mpxjs.cn/articles/2.0.html
小程序開發者,為什么你應該嘗試下MPX - https://mpxjs.cn/articles/mpx1.html
Mpx 小程序框架技術揭秘 - https://mpxjs.cn/articles/mpx2.html

滴滴出行小程序體積優化實踐 - https://mpxjs.cn/articles/size-control.html

藍藍設計www.ocunn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://www.ocunn.cn

存檔

成人黄色免费网| 久久久久久电影| 海角社区69精品视频| 青草久久视频| 91综合精品国产丝袜长腿久久| 欧美理论影院| 蜜桃视频m3u8在线观看| 日日夜夜天天综合入口| 国产二区视频在线观看| 三级在线观看| 蜜桃免费在线| 牛牛澡牛牛爽一区二区| 亚洲成人影院少妇| 在线观看av片| 天堂а√在线8种子蜜桃视频| 好男人在线视频www| 国产女人18毛片18精品| 国产毛片一区二区三区va在线| 在线观看不卡的av| 亚洲系列第一页| 中文天堂在线视频| 国产三级按摩推拿按摩| 国产福利第一页| 国产哺乳奶水91在线播放| 99在线精品视频免费观看软件| 亚洲无码精品国产| 性猛交富婆╳xxx乱大交天津| 国产v片在线观看| 国产77777| 22288色视频在线观看| 国产最顶级的黄色片在线免费观看| 人妻精品无码一区二区| 天堂av中文字幕| 国产在线制服美女| 男人天堂网在线| 黄色在线免费| 国产盗摄精品一区二区酒店| 中文字幕在线官网| 亚洲国产91视频| 大陆精大陆国产国语精品| 欧美人体视频| 天天揉久久久久亚洲精品| 国产中文一区| 蜜桃视频在线观看一区二区| 国产成人99久久亚洲综合精品| 9人人澡人人爽人人精品| 国产欧美日韩一区二区三区在线观看| 久久久久久久久久久黄色| 亚洲色图欧洲色图| 欧美性69xxxx肥| 337p亚洲精品色噜噜噜| 日韩高清免费观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 午夜精品久久17c| 成人免费激情视频| 日韩欧美第二区在线观看| 国产在线视频综合| 污污的视频免费| 丰满圆润老女人hd| 日本高清www免费视频| 国产精品自偷自拍| 人成在线免费视频| 98色花堂精品视频在线观看| 国产 日韩 欧美| 国产欧美高清视频在线| 亚洲国产影院| 懂色av一区二区三区免费看| 亚洲啪啪综合av一区二区三区| 在线中文字幕不卡| 亚洲精品成人久久电影| 欧美国产在线电影| 亚洲自拍偷拍一区| 欧美a级黄色大片| 亚洲精品国产一区二区三区| 国产真人做爰视频免费| 久久国产视频精品| 黑料吃瓜在线观看| 午夜小视频福利在线观看| 96sao精品免费视频观看| 日韩在线视屏| 国产伦精品一区二区三区视频青涩 | 国产精品密蕾丝袜| 欧美 日韩 精品| 情se视频网在线观看| 蜜臀av在线播放| jazzjazz国产精品麻豆| 亚洲视频免费| 9久草视频在线视频精品| 狠狠躁夜夜躁人人爽天天天天97| 亚洲电影免费观看高清完整版在线| 欧美激情精品久久久久久免费印度| 91久久极品少妇xxxxⅹ软件| 成人一区二区av| 白嫩情侣偷拍呻吟刺激| 黄色在线免费观看| 青青草av免费在线观看| 蜜桃视频成人m3u8| 天天射综合网视频| 成人美女视频在线看| 懂色av影视一区二区三区| 亚洲天堂av网| 91在线在线观看| 午夜肉伦伦影院| 国产日韩精品中文字无码| 国产福利第一视频| caoporn视频在线| 日本一二区不卡| 丁香激情综合国产| 欧美亚洲动漫精品| 久久久久女教师免费一区| 六十路精品视频| 第一区免费在线观看| 精品无码av在线| 在线免费国产| 日本在线一区二区| 亚洲视频二区| 亚洲精品va在线观看| 亚洲精品丝袜日韩| 999国产在线| 国产一伦一伦一伦| 午夜毛片在线观看| 欧美18hd| 欧美色图激情小说| 91论坛在线播放| 欧美一区二区黄| 国产精品视频永久免费播放| 极品美女扒开粉嫩小泬| 杨钰莹一级淫片aaaaaa播放| 中文有码在线观看| 日本成人手机在线| 极品少妇一区二区| 精品视频一区 二区 三区| 人妖精品videosex性欧美| 黄色网在线视频| 99re6热在线精品视频| 中文字幕在线观看第一页| 欧州一区二区三区| 国产麻豆精品视频| 日韩免费一区二区| 91成人伦理在线电影| 日韩不卡一二三| 中文字幕乱码无码人妻系列蜜桃| 在线网址91| 欧美.日韩.国产.一区.二区| 综合中文字幕亚洲| 免费av在线一区| 欧美a级黄色大片| 欧美黄色免费看| 求av网址在线观看| 99久久精品国产亚洲精品 | 国产欧美一区二区三区精品酒店| 国内揄拍国内精品久久| 亚洲尤物视频在线| 国内精品视频久久| 国产成人精品视频免费看| 国产又大又黄视频| www成人免费观看| 免费亚洲一区| 欧美日韩一区二区三区视频| 成人av免费在线观看| 国产精品裸体瑜伽视频| 91黄色在线看| 国产污片在线观看| free性护士videos欧美| 一区二区三区高清视频在线观看| 精品久久久久久久久久久久久| 97超碰国产精品女人人人爽 | 日本福利视频网站| 久草手机在线观看| 波多野结衣亚洲| 久久99国产精品久久99| 精品欧美黑人一区二区三区| 极品日韩久久| 肉色超薄丝袜脚交69xx图片 | 曰本三级日本三级日本三级| 国产成人在线网址| 色影院视频在线| 亚洲婷婷免费| 欧美色涩在线第一页| 成人91视频| 天堂久久精品忘忧草| 午夜激情视频在线| 模特精品在线| 精品999久久久| 日本一区二区精品| 久久婷婷一区二区| 一区二区视频免费完整版观看| 国产一区二区91| 亚洲视频电影图片偷拍一区| 免费观看国产视频在线| 正在播放木下凛凛xv99| 天堂精品久久久久| 中文字幕在线观看不卡| 日本一欧美一欧美一亚洲视频 | 澳门av一区二区三区| 成人aaaa免费全部观看| 欧美超级免费视 在线| 永久免费的av网站| 四虎影视在线观看2413| 最新日韩av| 精品国产一区二区三区四区四| 国产福利片一区二区| 一级全黄少妇性色生活片| 欧美亚洲国产日韩| 欧美日韩免费在线观看| 国产精品日韩一区二区| 国产精品a成v人在线播放| 成人豆花视频| 中文字幕一区在线观看视频| 国产伦精品免费视频| 天天干天天舔天天操| 高潮在线视频| 久久女同精品一区二区| 欧美在线观看网站| 亚洲av无码国产精品久久| 肉肉视频在线观看| av不卡免费电影| 日韩免费黄色av| 丁香激情五月少妇| 少妇一区视频| 亚洲欧洲av一区二区三区久久| 国产日韩欧美在线看| 卡通动漫亚洲综合| 日韩国产大片| 亚洲v精品v日韩v欧美v专区| 精品午夜一区二区| 这里只有精品国产| 日韩dvd碟片| 日韩欧美黄色影院| 日韩中文字幕在线视频观看| 亚洲欧洲闷骚av少妇影院 | 国精产品一区一区三区mba视频| 日日噜噜噜夜夜爽亚洲精品| av在线免费观看不卡| 99福利在线| 91女神在线视频| 91精品久久久久久久久青青| 国产无精乱码一区二区三区| 丝袜美腿一区二区三区动态图| 在线免费观看成人短视频| 异国色恋浪漫潭| 色网在线视频| 久久99国产精品麻豆| 国模精品系列视频| 日韩av片在线免费观看| 日本亚洲视频| 在线观看一区日韩| 天堂…中文在线最新版在线| 蜜芽tv福利在线视频| 懂色中文一区二区在线播放| 国产精品三级美女白浆呻吟 | 久久久com| 国产色片在线观看| 在线亚洲自拍| 欧美国产日韩一区二区在线观看 | 欧美亚洲在线日韩| 亚洲激情第一页| 999久久久精品视频| 天堂中文最新版在线中文| 亚洲人成亚洲人成在线观看图片| 日本一区二区在线视频观看| 人妻少妇精品无码专区| 蜜桃一区二区三区在线| 国产成人欧美在线观看| 日本一区二区三区精品| 亚洲一级淫片| 久久影视免费观看| 992在线观看| 蜜臀av免费一区二区三区| 亚洲第一黄色网| 精品人妻一区二区乱码| 福利一区二区三区视频在线观看 | 欧美大肚乱孕交hd孕妇| 久久精品一卡二卡| 日韩经典一区| 欧美日韩久久一区二区| 亚洲免费看av| 深夜成人影院| 欧美午夜一区二区三区免费大片| 任你操这里只有精品| av剧情在线观看| 精品免费在线观看| av观看免费在线| 在线女人免费视频| 91精品办公室少妇高潮对白| 国产精品无码专区av在线播放| 少妇精品无码一区二区三区| 日韩av免费在线观看| 亚洲日韩中文字幕在线播放| 国产视频一区二区三区在线播放| 制服丝袜在线播放| 亚洲午夜日本在线观看| cao在线观看| 男人添女人下部高潮视频在线观看| 中文字幕一区在线观看视频| 国产日产欧美一区二区| 国产在线高潮| 亚洲va欧美va天堂v国产综合| 欧美亚洲日本一区二区三区 | 国产欧美日韩在线| 在线成人av电影| 日本高清视频在线播放| 亚洲最大成人综合| 日日碰狠狠丁香久燥| 欧美三区四区| 日韩欧美国产小视频| 免费a级黄色片| 日韩av专区| 97av在线视频免费播放| 亚洲视频中文字幕在线观看| 国内精品免费**视频| 久久久久久久久一区二区| 国产网站在线播放| 亚洲午夜精品在线| 91日韩视频在线观看| 久久综合偷偷噜噜噜色| 亚洲欧洲午夜一线一品| 精品在线视频免费观看| 国产精品资源| 成人自拍网站| av大片在线播放| 欧美日韩中文字幕在线视频| 999久久久精品视频| 青青视频一区二区| 久久999免费视频| 亚洲一区二区天堂| 99久久99久久精品免费观看| 国产女主播av| 成人免费av电影| 日韩黄色在线免费观看| 麻豆疯狂做受xxxx高潮视频| 日韩精品一级二级| 蜜桃av色综合| 男女免费观看在线爽爽爽视频| 欧美精品免费视频| 黑人狂躁日本娇小| 丝袜亚洲另类欧美| 欧美日韩在线一区二区三区| 深夜国产在线播放| 精品少妇一区二区三区视频免付费 | 亚洲一区二区三区四区的 | 香蕉久久久久久| 最近日韩中文字幕中文| 中文字幕精品视频在线观看| 成人午夜精品在线| bt天堂新版中文在线地址| 国产欧美在线观看免费| 尤物九九久久国产精品的特点 | 日韩精品福利视频| 免费看男女www网站入口在线 | 国产色综合网| 日本a级片久久久| 激情视频网站在线播放色| 日韩av在线天堂网| 欧美超碰在线观看| 欧美激情在线一区二区| 香港日本韩国三级网站| 成人同人动漫免费观看| 亚洲精品欧美极品| 四虎亚洲成人| 亚洲久久久久久久久久| 一级黄色a视频| 欧美激情综合在线| 精品国产午夜福利在线观看| 亚洲精品电影| 精品国产一区二区三区免费| 黄色软件视频在线观看| 在线视频一区二区| www.麻豆av| 亚洲福利一区二区| 中文字幕免费在线看线人动作大片| 天堂久久久久va久久久久| 在线观看国产一区| 欧美日本三级| 欧美在线观看一区二区三区| 成在在线免费视频| 精品国产一区二区三区久久久蜜月| 五月婷婷激情网| 国产三级三级三级精品8ⅰ区| 一级片黄色免费| 国产综合精品| 亚洲一区影院| 视频精品一区| 国产精品免费福利| av观看在线| 中文字幕欧美日韩在线| 国产三级av在线| 欧美日本在线一区| www.com国产| 亚洲色欲色欲www在线观看| 色欲狠狠躁天天躁无码中文字幕| 国产一区二区三区在线观看免费 | 亚洲欧美小说色综合小说一区| 日韩在线视频网站| 一起操在线观看| 日韩一区二区免费在线电影| 尤物视频免费观看| 亚洲激情中文1区| 少妇高潮在线观看| 久久久午夜精品理论片中文字幕|