国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

探索微前端的場(chǎng)景極限

共 7320字,需瀏覽 15分鐘

 ·

2021-10-23 12:18

點(diǎn)擊上方 前端Q,關(guān)注公眾號(hào)

回復(fù)加群,加入前端Q技術(shù)交流群

作者:kuitos

來(lái)源:https://www.zhihu.com/column/p/355419817



本文主要介紹總結(jié)了一些基于 qiankun 的微前端應(yīng)用場(chǎng)景與實(shí)踐

基礎(chǔ)場(chǎng)景

與路由綁定的方式渲染微應(yīng)用

通常情況下,我們接觸的最多的微前端的實(shí)踐,是以 URL/路由 為維度來(lái)劃分我們的微應(yīng)用,以 OneX 平臺(tái)(螞蟻金融云基于微前端架構(gòu)打造的統(tǒng)一接入平臺(tái))為例:

接入這類平臺(tái)的微應(yīng)用,通常只需要提供自己的 entry html 地址,并為其分配一個(gè)路由規(guī)則即可。

這背后的實(shí)現(xiàn)則是基于 qiankun 的 registerMicroApps API,如:

import { registerMicroApps } from 'qiankun';

registerMicroApps([
  {
    name'app1'
    container'#container'
    entry'//micro-app.alipay.com/'
    activeRule'/app1' 
  }
])

路由與應(yīng)用綁定的方式簡(jiǎn)單直觀,是微前端中最為常見(jiàn)的使用場(chǎng)景,通常我們會(huì)用這種方式將一堆獨(dú)立域名訪問(wèn)的 MPA 應(yīng)用,整合成一個(gè)一體化的 SPA 應(yīng)用。

但這類場(chǎng)景也有自己的局限性:

  1. 由于URL/路由的 唯一性/排他性 的特點(diǎn),這種方式只適用單實(shí)例場(chǎng)景需求
  2. 微應(yīng)用的調(diào)度都是由路由系統(tǒng)來(lái)自動(dòng)處理的,雖然省事但是碰到更復(fù)雜的需求,如同一個(gè)路由下,根據(jù)不同的用戶權(quán)限展示不同的微應(yīng)用這類個(gè)性化訴求,需要寫(xiě)一些中間層代碼來(lái)曲線救國(guó)
  3. 應(yīng)用掛載的容器節(jié)點(diǎn)等需提前準(zhǔn)備好,不然碰到 動(dòng)態(tài)/嵌套 路由這類情況,可能會(huì)因?yàn)槁酚?listener 監(jiān)聽(tīng)觸發(fā)的時(shí)序不確定,導(dǎo)致微應(yīng)用無(wú)法完成掛載的問(wèn)題

以組件的方式使用微應(yīng)用

qiankun 2.0 的發(fā)布帶來(lái)一個(gè)全新的 API loadMicroApp,通過(guò)這個(gè) API 我們可以自己去控制一個(gè)微應(yīng)用加載/卸載,這個(gè)方式也是 qiankun 2.0 的重磅特性:

import { loadMicroApp } from 'qiankun';

// do something

const container = document.createElement('div');
const microApp = loadMicroApp({ name'app', container, entry'//micro-app.alipay.com' });

// do something and then unmount app
microApp.unmout();

// do something and then remount app
microApp.mount();

開(kāi)發(fā)者可以在脫離路由的限制下,以更自由的方式去渲染我們的微應(yīng)用?;?loadMicroApp API,我們只需要做一些簡(jiǎn)單的封裝,即可以類似組件的開(kāi)發(fā)體驗(yàn),完成微應(yīng)用的接入,以 React 為例:

第一步:封裝一個(gè) MicroApp 組件:

import { loadMicroApp } from 'qiankun';
import React from 'react';

export default class MicroApp extends React.Component {

containerRef = React.createRef();
microApp = null;

componentDidMount() {
const { name, entry, ...props } = this.props;
this.microApp = loadMicroApp(
{ name, entry, container: this.containerRef.current, props },
);
}

componentWillUnmount() {
this.microApp.unmount();
}

componentDidUpdate() {
const { name, entry, ...props } = this.props;
this.microApp.update(props);
}

render() {
return <div ref={this.containerRef}></div>;
}
}

第二步:通過(guò) MicroApp 組件引入微應(yīng)用:

import MicroApp from './MicroApp';
import React from 'react';

class App extends React.Component {
render() {
return (
{
this.props.admin
? <MicroApp name="admin" entry="http://localhost:8080/" level={10} />
: <MicroApp name="guest" entry="http://localhost:8081/" level={1} />
}
)
}
}

如果你是 umi 應(yīng)用,那只需要直接使用插件封裝好的組件即可:

import { MicroApp } from 'umi';

function MyComponent() {
  return (
    <div>
      <MicroApp name="qiankun" age={1.5} stars={8700} />
    </div>

  )
}

這類方式適用于一些可共用的、帶業(yè)務(wù)邏輯的服務(wù)型組件(類似于我們以前常說(shuō)的端對(duì)端組件):比如帶聊天交互的客服機(jī)器人、帶引導(dǎo)功能的 intro 服務(wù)等。

如螞蟻 sofa 產(chǎn)品控制臺(tái)中的這個(gè)使用入門(mén)微應(yīng)用:

右側(cè)呼出的窗口即為一個(gè)獨(dú)立開(kāi)發(fā)、獨(dú)立發(fā)布的微應(yīng)用

通過(guò)組件的這種方式,我們可以完全自主的控制微應(yīng)用的渲染,并與之做一些復(fù)雜的交互。不論是在開(kāi)發(fā)者的編碼心智,還是用戶的體驗(yàn)上,都跟使用一個(gè)普通的業(yè)務(wù)組件無(wú)異。

組件的方式非常靈活,幾乎解決了所有路由綁定方式渲染微應(yīng)用的問(wèn)題,但也有自己的一些局限:比如我們會(huì)要求這類微應(yīng)用必須是不帶路由系統(tǒng)的 widget 類型,不然也會(huì)出現(xiàn)多實(shí)例時(shí)路由沖突的問(wèn)題。

嵌套渲染場(chǎng)景

有一些更復(fù)雜的場(chǎng)景中,我們可能需要使用到「套娃」的方式集成我們的若干微應(yīng)用。

比如我們要在應(yīng)用 A 下集成應(yīng)用 B 的商品列表頁(yè),然后在應(yīng)用 B 的商品列表頁(yè)呼出應(yīng)用 C 的買(mǎi)家詳情頁(yè),所有應(yīng)用的喚起都以 彈層/抽屜 這種不刷新的交互來(lái)完成。

在有了上面兩個(gè)場(chǎng)景的實(shí)踐經(jīng)驗(yàn)后,我們很容易得出這樣的組合邏輯:

在應(yīng)用 A 中通過(guò)調(diào)用 loadMicroApp(B) 的方式喚起微應(yīng)用 B,然后在微應(yīng)用 B 中通過(guò) loadMicroApp(C) 的方式喚起微應(yīng)用 C,通過(guò)這樣的調(diào)用鏈路即可很完美的完成產(chǎn)品上的訴求。

但是現(xiàn)實(shí)情況往往沒(méi)有那么簡(jiǎn)單,前面提到過(guò),若想要 loadMicroApp API 能符合預(yù)期的運(yùn)行,我們需要確保被加載的微應(yīng)用是不含自己的路由系統(tǒng),否則會(huì)出現(xiàn)多個(gè)應(yīng)用間路由系統(tǒng)互相 搶占/沖突 的情況。

而現(xiàn)實(shí)情況是,我們大部分需要復(fù)用的頁(yè)面/組件,都會(huì)是某個(gè)站點(diǎn)的局部路由頁(yè),很少有人會(huì)專門(mén)起一個(gè)倉(cāng)庫(kù),用來(lái)專門(mén)把這個(gè)頁(yè)面抽取成一個(gè)微應(yīng)用,比如上面提到的買(mǎi)家詳情頁(yè)。

這種場(chǎng)景下,我們其實(shí)只需要確保微應(yīng)用的路由系統(tǒng)不會(huì)干擾到全局的 URL 系統(tǒng)即可。幸運(yùn)的是 react-router 的 memory history 模式很好的解決了這一問(wèn)題。如果你是一個(gè) umi 應(yīng)用,只需要直接使用我們封裝好的組件即可完成 memory history 的運(yùn)行時(shí)切換:

import { MicroAppWithMemoHistory } from 'umi';

<Drawer>
<MicroAppWithMemoHistory name="buyer" url='/buyers/123' />
</Drawer>

交互效果可以參考:

圖中 app1/app2 均是子應(yīng)用,但是在 app1 中可以再通過(guò)抽屜呼出 app2,同時(shí)瀏覽器地址欄也不會(huì)被 app2 的路由干擾。

關(guān)于嵌套渲染相關(guān)的詳細(xì)介紹,可以看這篇《基于微前端的大型中臺(tái)項(xiàng)目融合方案》

極限渲染場(chǎng)景

如果你覺(jué)得嵌套微應(yīng)用就是我們場(chǎng)景的天花板了,那未免有點(diǎn)小看群眾們的想象力了。

在我們內(nèi)部的一個(gè)設(shè)計(jì)工程化平臺(tái)里,我們通過(guò) qiankun 成功的把一個(gè)微應(yīng)用的 20+ 路由頁(yè)同時(shí)渲染到了一個(gè) url 下:

上圖中右側(cè)列表中每一個(gè) demo 都是通過(guò) qiankun 渲染的一個(gè)獨(dú)立微應(yīng)用實(shí)例,而這里面每一個(gè)微應(yīng)用實(shí)例,實(shí)際對(duì)應(yīng)是同一個(gè) react 應(yīng)用的不同路由頁(yè)。

不同于前面幾個(gè)場(chǎng)景,將同一個(gè)應(yīng)用的不同頁(yè)面,同時(shí)渲染到主應(yīng)用的不同 UI 容器中這個(gè)需求下,有幾個(gè)比較特殊的問(wèn)題需要去考慮:

  1. 是否需要特殊的微應(yīng)用生產(chǎn)方式
  2. 多路由系統(tǒng)共存帶來(lái)的 沖突/搶占 問(wèn)題
  3. 不同微應(yīng)用間的樣式隔離
  4. 如何優(yōu)化渲染性能:既然每一個(gè)微應(yīng)用實(shí)例實(shí)際對(duì)應(yīng)的是同一個(gè)應(yīng)用,那我們?nèi)绾伪M可能多的復(fù)用一些運(yùn)行時(shí)或者沙箱,從而降低這么多微應(yīng)用同時(shí)渲染代理的運(yùn)行時(shí)開(kāi)銷(xiāo)

篇幅考慮,針對(duì)這類場(chǎng)景優(yōu)化的技術(shù)細(xì)節(jié)不在這里介紹了,后面會(huì)單獨(dú)寫(xiě)一篇來(lái)介紹

解決了這些問(wèn)題后,我們只需要在我們的項(xiàng)目中這么去使用就可以了:

// MicroAppWithMemoHistory 是基于 memory history 封裝的微應(yīng)用加載器
import { MicroAppWithMemoHistory } from 'umi';

function Home {
return (
<div>
{ /* 將同一個(gè)應(yīng)用的不同路由頁(yè)同時(shí)渲染出來(lái) */ }
<MicroAppWithMemoHistory name="demo" url="/demo1" />
<MicroAppWithMemoHistory name="demo" url="/demo2" />
<MicroAppWithMemoHistory name="demo" url="/demo3" />
<MicroAppWithMemoHistory name="demo" url="/demo4" />
<MicroAppWithMemoHistory name="demo" url="/demo5" />
<MicroAppWithMemoHistory name="demo" url="/demo6" />
</div>
)
}

更多的想象空間

工程上的想象空間

微前端架構(gòu)除了其帶來(lái)的巨石應(yīng)用解構(gòu)、技術(shù)棧無(wú)關(guān)等工程能力外,也為我們對(duì)一些已有的工程問(wèn)題帶來(lái)了新的解題思路,比如:

npm 包分發(fā)業(yè)務(wù)組件背后的工程問(wèn)題

在以前,我們經(jīng)常通過(guò)發(fā)布 npm 包的方式復(fù)用/共享我們的業(yè)務(wù)組件,但這種方式存在幾個(gè)明顯的問(wèn)題:

  1. npm 包的更新下發(fā)需要依賴產(chǎn)品重新部署才會(huì)生效
  2. 時(shí)間一長(zhǎng)就容易出現(xiàn)依賴產(chǎn)品版本割裂導(dǎo)致的體驗(yàn)不一致
  3. 無(wú)法灰度
  4. 技術(shù)棧耦合

說(shuō)白了就是 npm 包這種靜態(tài)的共享方式,喪失了動(dòng)態(tài)下發(fā)代碼的能力,導(dǎo)致了其過(guò)慢的工程響應(yīng)速度,這在現(xiàn)在云服務(wù)流行的時(shí)代就會(huì)顯得格外扎眼。而微前端這種純動(dòng)態(tài)的服務(wù)依賴方式,恰好能方便的解決上面的問(wèn)題:被依賴的微應(yīng)用更新后的產(chǎn)物,在產(chǎn)品刷新后即可動(dòng)態(tài)的獲取到,如果我們?cè)谖?yīng)用加載器中再輔以灰度邏輯,那么動(dòng)態(tài)更新帶來(lái)的變更風(fēng)險(xiǎn)也能得到有效的控制。

新的 UI 共享模式

在以前,如果我們希望復(fù)用一個(gè)站點(diǎn)的局部 UI,幾乎只有這樣一條路徑:從業(yè)務(wù)系統(tǒng)中抽取出一個(gè)組件 -> 發(fā)布 npm 包 -> 調(diào)用方使用 npm 包。

且不說(shuō)前面提到的 npm 自身的問(wèn)題,單單是從一個(gè)已有的業(yè)務(wù)系統(tǒng)中抽取出一個(gè) UI 組件這個(gè)事情,都可能夠我們喝一壺的了。我們不僅要在物理層面,將這部分代碼抽取成若干個(gè)單獨(dú)的文件,同時(shí)還要考慮如何跟已有的系統(tǒng)做上下文解耦,這類工作出現(xiàn)在一個(gè)越是年代久遠(yuǎn)的項(xiàng)目上,實(shí)施起來(lái)就越是困難,做過(guò)這類事情的同學(xué)應(yīng)該都會(huì)深有體會(huì)。

不同于組件庫(kù)的研發(fā)流程,微前端的場(chǎng)景下,大部分時(shí)候我們不會(huì)為了去復(fù)用一個(gè) UI,而去專門(mén)寫(xiě)一個(gè)微應(yīng)用出來(lái)。通常我們期望的是,從一個(gè)已有系統(tǒng)中,直接選取我們需要復(fù)用的部分,嵌入到我們自己的容器里進(jìn)行渲染。

基于上面提到過(guò)的微應(yīng)用多實(shí)例的渲染方案,我們可以考慮將需要復(fù)用的組件,以路由 URL 作為 ID 的方式導(dǎo)出。比如我們有這樣一個(gè) A 應(yīng)用有一個(gè)這樣的頁(yè)面:

function OnePage() {
return (
<div>
<SearchForm/>
<UserList/>
</div>
)
}

我們有另外一個(gè)應(yīng)用,希望單獨(dú)復(fù)用 A 應(yīng)用的用戶列表部分的交互跟 UI,那我們只需要多加一條路由規(guī)則:

<Switch>
...
<Route path="/userList" memory={true}>
<UserList/>
</Route>
</Switch>

依賴方只需要配合 memory history 并指定 url 為 /userList 即可完成渲染(參考上面嵌套渲染章節(jié))。

站點(diǎn)即配置

當(dāng)我們將所有可以共享的服務(wù)單元變成一個(gè)個(gè)獨(dú)立的微應(yīng)用之后,我們便可以通過(guò)配置的方式描述我們的站點(diǎn)了,類似:

{
layout: 'admin-pro',
apps: [
{ name: 'abc', props: {} },
{ name: 'bcd', props: {} },
{ name: 'cde', props: {} },
]
}

其中 layout 可以是一個(gè)帶基礎(chǔ)交互框架、用戶鑒權(quán)等公共能力的微應(yīng)用,也可以是一組微應(yīng)用的集合(類似 babel 中的 preset 插件),而 apps 則是一組需要在當(dāng)前站點(diǎn)渲染出來(lái)的業(yè)務(wù)微應(yīng)用。

這種方式非常適用于,當(dāng)我們要在一個(gè)業(yè)務(wù)域下開(kāi)發(fā)多個(gè)細(xì)分服務(wù)站點(diǎn)時(shí),通過(guò)這種配置的方式,配合一個(gè)運(yùn)行時(shí)的微應(yīng)用編排引擎,快速的生成一系列視覺(jué)一致、交互統(tǒng)一的業(yè)務(wù)站點(diǎn)出來(lái)。

產(chǎn)品上的想象空間

在有了上面那些場(chǎng)景背后的技術(shù)支撐后,在產(chǎn)品上,我們就已經(jīng)多出很多想象空間了。

但我們還可以想的更極限一點(diǎn):

比如我們知道微信有一個(gè)公眾號(hào)浮窗的功能,包括安卓系統(tǒng)常見(jiàn)的小窗模式,解決的就是空間獨(dú)占、以及跨空間時(shí)的交互問(wèn)題。

安卓常見(jiàn)的小窗模式

那我們?cè)谥泻笈_(tái)也可以參考類似的設(shè)計(jì),將不同空間的關(guān)聯(lián)性操作以這種非獨(dú)占的形態(tài)聚合到一起,從而降低流程上的斷層感,提升產(chǎn)品體驗(yàn)。

demo.jpg

(這里本有一張螞蟻內(nèi)部系統(tǒng)的交互示意圖,因涉及保密信息無(wú)法公開(kāi),有興趣的同學(xué)可以選擇加入我們后做進(jìn)一步的交流分享 )

寫(xiě)在最后

微前端提供的這些漸進(jìn)式更新、動(dòng)態(tài)組合、 服務(wù)拓展的能力,相信大家通過(guò)我們介紹的這些常見(jiàn)場(chǎng)景,以及一些極致條件下的解決方案中能窺其一二。

但需要強(qiáng)調(diào)的是,任何技術(shù)架構(gòu)都不可能是銀彈,我們不必對(duì)微前端過(guò)于神化/劣化。本篇僅希望在分享了我們?cè)谖⑶岸祟I(lǐng)域的一系列探索之后,能給其他開(kāi)發(fā)者帶來(lái)一些新的選擇和啟發(fā),從而為其工程及產(chǎn)品上帶來(lái)更多的可能性

聲明:文章著作權(quán)歸作者所有,如有侵權(quán),請(qǐng)聯(lián)系小編刪除。



往期推薦


大廠面試過(guò)程復(fù)盤(pán)(微信/阿里/頭條,附答案篇)
面試題:說(shuō)說(shuō)事件循環(huán)機(jī)制(滿分答案來(lái)了)
專心工作只想搞錢(qián)的前端女程序員的2020



最后


  • 歡迎加我微信,拉你進(jìn)技術(shù)群,長(zhǎng)期交流學(xué)習(xí)...

  • 歡迎關(guān)注「前端Q」,認(rèn)真學(xué)前端,做個(gè)專業(yè)的技術(shù)人...

點(diǎn)個(gè)在看支持我吧


瀏覽 49
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 99都是精品| 国产三级片精品| 亚洲成人高清在线| 欧美成人精品一级| 亚洲天堂2014| 亚洲第一成人网站| 成人免费无码婬片在线| 黄片视频在线免费观看| 99亚洲视频| 久久精品久| 国产精品久久一区二区三区影音先锋 | 超碰久操| 在线视频一区二区三区四区| 青娱乐精品在线视频| 久久国产高清视频| 亚洲欧美日韩无码| 欧美日韩性爰视频| 午夜性爱福利| 国产ts在线| 免费观看黄色片| 天天日天天撸| 可以在线观看的AV| 免费无码在线视频| 丁香五月天激情视频| 成人做爱黄片| 日韩七区| 北条麻妃一区二区三区在线 | 91香蕉视频在线看| 狠狠精品| 日韩成人无| 日韩无码网站| 日韩欧美一级片| 东方av在线观看| 十八禁在线播放| 免费看黄A级毛片成人片| 亚洲系列中文字幕| 99久久精品国产一区二区三区| 亚洲色图第一页| 久久国产2025| 996精品在线| 中国一级黄片| 欧美在线成人网| 日韩三级AV在线观看| 亚洲日韩电影| 黄色片网站| 另类图片亚洲色图| 成人视频一区二区三区| 日老女人逼| 人妻天堂| 免费超碰在线| 日韩毛片中文字幕| 一区二区三区免费在线| 97亚洲精品| 黑人精品欧美一区二区蜜桃| 国产v欧美| 中文四区| 久久波多野结衣一区二区| 欧美亚洲操逼视频| 亚洲五月天色| 99无码精品| 天天看高清无码| 午夜成人精品一区二区三区| 无码av网| 婷婷精品秘进入| 欧美日韩伊人| 亚洲A片免费看| 亚洲少妇网| 男女性爱视频免费| 午夜精品成人| 少妇熟女视频一区二区三区| 亚洲精品国产精品乱码不卡√香蕉| 国产精品视频一区二区三区在线观看| 欧亚精品视频| 肏逼网站在线观看| 无码成人在线观看| 色婷婷亚洲色| 香蕉国产在线视频| 台湾成人在线视频| 最新中文字幕无码| 99天天视频| 久久久精品在线| 中文字幕乱码视频| 国产小视频在线免费观看| 成人综合娱乐网| 国产1级片| 国产精品久久久久久婷婷天堂| 黑人一区二区三区四区| 大香蕉免费| 欧美性爱18| 中文字幕牛牛婷婷| 蜜臀久久99精品久久久久久婷婷| 少妇AV| 日韩爆乳一区二区三区| 久激情内射婷内射蜜桃欧美一级 | 色婷婷欧美| 性猛交AAAA片免费观看直播| 日韩精品无码人妻| 特级西西WWW无码| 屁屁影院CCYYCOM国产| 国产无码高清在线观看| 欧美后门菊门交3p、| 天天插天天狠| 国产伦子伦一级A片在线| 狠狠操天天干| 嫩BBB槡BBBB槡BBBB视频-百度| 丰满熟妇人妻中文字幕| 插菊花综合网3| A视频在线观看| 黄色小视频免费看| 人人草人人爱| 亚洲性爱在线| 午夜福利手机在线| 国产精品成人3p一区二区三区| 国产精品黄视频| 婷婷成人在线| 男人天堂视频在线| 中文字幕在线一区二区a| 欧美特大黄| 国产无码一二三| 色色爱爱| 国产福利在线观看| www.天天日| 91久久国产综合久久91| 五月天干美女| 夜夜夜久久久| 色噜噜狠狠一区二区三区300部| 国产乱子伦真实精品!| 青青青亚州视频在线| 日韩成人高清| 国产综合婷婷| 超碰人人艹| 色婷婷丁香五月天| 婷婷五月天色| 翔田千里无码流出两部| 天天夜夜狠狠| 人人舔人人草| 日比视频网站| 亚欧洲精品| 日本高清一区| 内射学生妹| 国产亚洲久一区二区| 99久久99久久99久久久99国产| 久久日韩无码| 国产在线拍揄自揄拍无码男男| 另类老妇性BBwBBw图片| 操人视频在线观看| 西西444www无码精品| 国产精品操逼视频| 亚洲日韩一区| 五月天激情网址| 操逼视频试看| 黄色A片免费观看| 免费人成网站| 良妇露脸15P| 国产女人在线| 久久久久久97电影院电影院无码 | www.干| 国产熟妇码视频户外直播| 成人国产精品在线观看| 蜜桃黄色视频| аⅴ资源新版在线天堂| 五月婷婷六月色| 午夜免费视频1000| 中文字幕无码在线| 精品人妻一区二区乱码一区二区| 日韩中文字幕视频在线| 超碰伊人大香蕉| 少妇白洁视频| 91在线导航| 色播五月天| 黑人Av在线| 91精品国产乱码久久| 无码a级| 免费色片| 无码人妻一区二区三区| 国产色五月视频| 国产特级婬片免费看| 黄色在线观看国产| 日本女人牲交视频| 日本少妇无码| 国产无套进入免费| 欧美成人精品一级| 先锋久久| 美女黄色免费网站| 蜜桃免费视频| 国产无码一| 中国12一13毛片| 三级黄色视频在线观看| 色婷婷Av| 日韩一级片在线观看| 五月天婷婷色播| 日韩免费高清无码视频| 深爱激情网五月天| 日本精品一区二区三区四区的功能 | 插菊花综合网2| 尹人香蕉久久| 亚洲欧美在线成人| 久久久成人网站| 在线观看黄片视频| 亚洲三级视频| 大鸡巴久久久久| 久久精品视| 国内老熟妇对白HDXXXX| 成人久久久| 黄色的视频网站| 国产在线97| 东北老女人操逼视频| 爱草视频| 久久99草| www在线播放| 久久精品夜色噜噜亚洲A∨ | 国精品伦一区一区三区有限公司 | 操逼动漫| 久久久久久久久久久久久久久久久久免费精品分类视频 | 夫妻成人免费看片一区二区| 中文字幕无码免费| 久久久久麻豆V国产精华液好用吗 色噜噜狠狠一区二区三区牛牛影视 | 国产精品福利视频| 国产无码在线影院| 北条麻妃99精品青青久久| 一级黄色毛片视频| 久久黄色视频网站| 成人无码欧美大片免费看| 国产黄色自拍| 色欲av伊人久久大香线蕉影院| 人人妻人人骑| 超碰永久| 成人精品一区二区三区中文字幕 | 最新久欠一区二区免费看| 亚洲综人网| 亚洲人妻一区二区| 欧美国产精品| 好爽~要尿了~要喷了~同桌 | 一级欧美视频| 日韩视频播放在线综合| 蜜桃人妻无码AV天堂二区| 成人无码久久| 久久99深爱久久99精品| 麻豆91精品91久久久停运原因| 性爱视频网页| 国产伊人久久| 加勒比无码人妻| 台湾精品一区二区三区| 91在线无码精品秘入口三人| 欧美日韩在线免费观看| 草逼网视频| 日韩中文字幕网站| www.99| 日日碰狠狠躁久久躁婷婷| 草榴在线视频| 亚洲口爆| www黄片视频| 黄色免费一级片| 亚洲AV无码成人精品涩涩麻豆| 婷婷开心色四房播播免费| 国产av中文| 欧美性爱-熊猫成人网| 一级色色片| 国产精品久久久久久婷婷天堂| 国产看片网站| 色94色.欧美.setu| 久久大香蕉网| www.色五月| 青青草做爱视频| 性爱视频小说| 91人妻中文字幕在线精品| 久久成人一区| 91精品人妻少妇无码影院| 91精品国产综合久久久蜜臀酒店| av在线观看网站| 亚洲第一黄片| 97中文字幕| 欧美一级特黄真人做受| av午夜福利| 国产婷婷久久Av免费高清| 另类欧美| 色婷婷视频在线| 成人a片在线免费观看| 俺来俺也去www色在线观看| 国产无码高清视频| 国产欧美精品一区二区三区| 天天色影院| 高清无码在线免费观看| 国产精品资源在线观看| 97狠狠| 麻豆福利在线| 无码中文AV| 亚洲国产成人精品女人| 91蝌蚪在线视频| 免费大黄网站| 中文字幕一区三区三A片密月| 亚洲黄色免费观看| 日韩精品人妻中文字幕蜜乳| 无码中文综合成熟精品AV电影| 中文三区| 人人操人人干97| 日本a在线免费观看| 激情小说区| 欧美一级性爱在线观看| 亚洲性爱影院| 久久精品99视频| 国产精品久久久久久久久久久久久久久| 51妺妺嘿嘿午夜成人A片| 亚洲成人精品一区| 无码人妻一区二区三区免费n鬼沢| 亚洲国产一区二区三区四区| 人人操超碰在线| 五月天婷婷丁香| 特级特黄AAAA免费看| 成人黄网免费观看视频| 亚洲日韩一区二区三区四区 | 成人aV无码精品国产一区二区| 中文人妻第9页| 久久久高清无码视频| 99在线精品视频免费观看软件| 日本黄在线看| 欧洲操逼视频| 狠狠婷婷| 久久大伊人| 欧美操BB| 日日夜夜老司机| 日本一本在线| 欧美日韩在线免费观看| 波多野结衣av在线观看| 黑人操逼视频| 美女性爱视频网站| 日韩一级黄| 黄色av网站免费| 99视频在线观看免费| 18禁成人A∨片| A级毛片在线观看| A级视频网| 亚洲免费观看高清完整版在va线| 中文字幕乱码亚洲无线码按摩| 乱子伦国产精品www| 韩日一级17c| 91骚| 色视频在线观看| 日韩AV高清无码| 青草视频在线| 国产免费福利| 一区二区高清无码| 韩国免费一级a一片在线播放| 五月婷婷丁香五月| 狠狠色噜噜狠狠狠888米奇视频| 日日精品| 久热国产在线| 国产成人久久| 青青操成人在线视频| 在线免费看黄色| 欧美成人看片黄a免费看| 国产在线拍揄自揄拍无码视频| 99久久久无码国产精品性波多| 日韩天天干| 国产白丝精品91爽爽久久| 久久久黄色| 午夜乱轮| 国产一级视频| 一级二级三级视频| 国产AV自拍-久| 人人香蕉| 日韩一级片子| 久久女女| www.seses| av香蕉| 最新中文字幕AV| 日本中文字幕电影| 91无码国产成人精品| 免费福利在线观看| 国产欧美成人在线| 天天做| 国产毛片777777| 欧美色伊人| 麻豆传媒在线播放| 91久久久久久久91| 国产一级片在线播放| 欧美成人性爱影院| 91亚洲成人| 日韩A∨| 国产无码一区二区三区| 亚洲视频在线免费看| 无码成人视频| 高清无码波多野结衣| 97人人操人人干| 北条麻妃无码视频在线观看| 爱搞视频| 无码午夜| 午夜麻豆| 11孩岁女精品A片BBB| 国产一区二区三区视频在线观看| 港澳日韩黄片| 色一区二区三区| 日日搔AV一区二区三区| 一区二区三区免费| 亚洲成人AⅤ| 好爽~要尿了~要喷了~同桌 | 超碰自拍| 江苏妇搡BBB搡BBBB| 欧美aaaaaa| jk无码| 吃奶做爱视频| 中文字幕视频一区| 一二三区免费视频| 日韩v欧美v日本v亚洲v国产v| 激情五月丁香五月| 国内无码自拍| 大香蕉AV在线| 午夜AV在线观看| 日韩免费在线观看| 99这里只有精品视频| 亚洲成人av无码| AV成人| 你懂的在线网站| 日本一级婬片A片免费播放一 | 天天日天天日天天日| 自拍偷拍一区| 久久精彩免费视频| 无码中文字幕| 内射视频免费观看| 欧美激情久久久| 亚洲第一视频| 久久精品视频网站| 电家庭影院午夜| 99久久精品国产一区色| jizz日韩| 亚洲福利久久| 91成人福利| аⅴ资源新版在线天堂| 翔田千里AV在线| 91人妻人人澡人人爽人人DVD| 国产A片免费看| 夜色视频网| 人妻少妇91精品一区黑人| 性爱福利视频| 国产精品中文字幕在线观看| 日本黄色A片| 大奶AV| 香蕉国产在线视频| 白浆AV| 操逼视频高清无码| 在线成人一区二区| 色天天综合| 欧美一级特黄真人做受| 五月丁香| 一区二区三区四区免费看| 操逼网视频| 中文字幕AV在线观看| AV一二区| 91在线导航| 91成人视频在线免费观看| 一道本无码免费视频| 久热精品视频在线观看| 国产精品秘久久久久久一两个一起| 国产精品系列视频| 久久草在线观看| 日韩av中文| 无码国精品一区二区免费蜜桃| 亚洲最大黄色| 神马影院午夜福利| 97成人精品| 大鸡巴午夜爽视频电影| 欧美三级欧美成人高清| 麻豆91网站| 中国九九盗摄偷拍偷看| 日本黄色视频在线免费观看| 少妇白浆| 日韩一级免费视频| 色色网五月天| 超碰av电影| 亚洲天堂在线观看视频| 免费一级无码成人片| 性欧美欧美巨大69| 成人毛片18毛片女人| 日韩无码中文字幕| 俺去俺来也WWW色老板| 天天做天天日| 欧美三级长视频| 一级片黄色| 日韩欧美在中文| 黄片网址在线观看| 中文字幕亚洲在线| 大香蕉看片| 一个人看的视频www| 黄色自拍视频| 欧美在线不卡| 被黑人猛躁10次高潮视频| 53岁露大奶熟女偷情贴吧| 国产老熟女高潮毛片A片仙踪林 | 中文字幕www一区| wwwA片| 大香蕉网伊| 欧美性交网| 欧美特黄AAA| 一级A片免费看| 亚洲AV无码免费| 日本一级片| 亚洲精品视频在线观看免费| 人人操人人色| 三级片麻豆| 福利视频一区二区| 色噜噜狠狠一区二区三区300部| 亚洲欧美大香蕉视频网| 天堂成人网| 国产成人黄色| 就爱av| 精品国产乱码久久久久夜深人妻 | 久久理论电影| 成人免费在线视频| www.俺来也| 国产午夜视频在线| 草久在线观看| AV一二区| 91精品国产综合久久久不打电影| 91欧美在线| 久久国产毛片| 俺来也俺去www色情网| 怍爱视频| 国产精品久久久久永久免费看| av岛国免费| 美国无码| 国产女人水真多18毛片18精品| 4虎亚洲人成人网www| 成人无码一区二区| 无码窝在线观看| 国内不卡一卡二视频| 毛片性爱视屏| 一级无码专区| www.水蜜桃| 欧美a级视频| 91国内精品视频| 亚洲AV电影在线| 亚洲午夜无码精品专区| 日韩视频中文字幕| 欧美视频中文字幕| 黄色电影中文字幕| 乱伦婷婷| 69AV电影| 色老板在线视频| 99热8| 999久久久| 玖玖资源站中文字幕| 婷婷色中文网| 日韩三级视频在线观看| 日本精品电影| 亚洲资源站| 天天日夜夜艹| 狠狠av| 日韩AV无码一区二区| 久久精品性爱| 日韩大片免费观看| 韩国AV在线| 婷婷五月天亚洲| 狠狠干中文字幕| 成人网站无码| 广州媚黑妇系列视频在线| 黄片精品| 中文字幕高清无码免费视频| 黄视频免费在线观看| 人人操在线观看| 69av在线视频| 三级无码片| TheAV精尽人亡av| 国产特级婬片免费看| 麻豆免费版在线观看| 538在线视频| 91麻豆精品传媒国产| 人人色视频| 日韩91在线| 男人视频网| 亚洲婷婷在线观看| 99视频在线免费| 成人AV免费观看| 91在线视频免费观看| 无码一二三区| 成人AA片| jizz国产精品| 91狠狠色丁香婷婷综合久久精品| 91蜜桃视频在线观看| 先锋影音男人资源站| A级黄视频| 青青草无码在线视频| 成人黄色免费视频| 久色伊人| 欧美日韩国产一区二区| 爆操熟女| 欧美中文字幕在线播放| 性爱一级片| 手机看片国产| 日韩在线国产| 麻豆911精一区二区| 国产精品久久久久国产A级| 黑人AV| 欧美一区二区在线观看| 国产一区二区在线视频| 国产成人在线免费视频| 日韩欧美分区视频| 久久噜| 91人妻人人爽人人澡人人爽| 成人精品秘免费波多野结衣| 欧美成人免费在线| 国产成人69| 草逼网视频| 欧美老妇大BBBBXXXX| 日韩精品一区二区三免费视频 | 77777精品成人免费A片| 中文无码AV在线| 7777精品伊人久久7777| 色五月婷婷视频| 中文在线最新版天堂8| 天堂资源地址在线| 三级免费无限AV| 亚洲色影院| 操逼网站视频| 日韩欧美高清视频| 伊人久久大| 天堂亚洲| 久久无码高清视频| 夜夜夜操| 国产在线拍偷自揄拍无码一区二区| 天天看天天摸| 欧美内射网站| 亚洲视频在线免费看| 免费在线观看视频黄| 久久婷婷婬片A片AAA| 爱就色色网| 香蕉视频日韩| 国产成人一区二区无码| 午夜福利无码电影| 国产主播AV| aV无码av天天aV天天爽第一| 天天日天天干天天爽| 人人操人人爱人人摸| 婷婷五月激情中文字幕| 成人国产| 国产女人免费| 看毛片视频| 北条麻妃一区二区三区在线 | 国语一区| 亚洲高清无码中字| 亚洲精品白浆高清久久久久久| 久久b| 免费观看在线黄片| 日日夜夜综合| 一级a免费| 欧美MV日韩MV国产网站| 大香蕉伊人视频在线观看| 午夜视频网| 在线免费观看成人网站| 欧洲无码精品| 在线观看操逼| 亚洲无码中文视频| 大香蕉亚洲在线| 青春草在线播放| 日韩精品小电影| 中文字幕VA| 91麻豆精品国产91久久久久久| 99热免费精品| 国产精品无码中文在线| 久久大鸡巴| anwuye官方网站| 精品人妻无码一区二区三区四川人 | 中文字幕亚洲天堂| 国产三级无码视频| 欧美熟妇一区二区三区| 黄片大全在线免费观看| 天天日,天天干,天天操| 免费观看黄色视频网站| 俺也去大香蕉| 久久成人电影院| 日韩黄色在线| 免费在线A| 中国老熟女重囗味HDXX| 国产久久久久久久| 欧美精品综合| 手机av在线| 91在线精品秘一区二区黄瓜| 亚洲日韩在线播放| 欧美毛视频| 国产美女一级特黄大片| 俺去啦俺也去| 久久你懂的| 欧美V在线| 成人精品福利| 久久精品五月天| 成人网站无码| 99久久婷婷国产综合精品hsex | 亚州不卡| 成人免费视频一区二区三区| 亚洲AV一二三区| 欧美艹逼视频| 中文字幕高清无码视频| 黄色一及片| 精品综合网| 精品人妻一区| 国产黄色三级片| 人人干人人看| 成人国产精品在线观看| 先锋影音亚洲AV每日资源网站| 91嫩草久久久久久久| 无码不卡在线播放| 国产九九九视频| 波多野吉衣高清无码| www.黄色电影| 97三级| av无码观看| 天天操网| 欧美日韩中文| 国产免费一区二区三区四区| 思思精品视频| 99re这里只有精品6| 激情操逼视频| 国产亚洲中文| 久久伊人草| 一级a一级a爱片免费视频| 豆花成人视频| 午夜精品视频| 国产日韩性爱视频| 国产色自拍| 69福利社| 蜜桃av无码一区三区| 中国国产乱子伦| 伊人久久中文字幕| 久久99精品久久久久久| 一级AV| 日韩视频免费观看高清完整版在线观 | 高清无码色播| 日韩av中文字幕在线播放| 视频一二三区| 亚洲日韩在线中文字幕| 日欧无码| 三级片小说| 国产中文在线| 人妻精品一二三| 国产精品成人3p一区二区三区| 超碰人人人人人人人人| 女人18片毛片90分钟免费明星| 超碰人人操在线| 黄片免费看视频| 91免费视频在线| 激情婷婷| 日本无码视频在线观看毒| 国产黄色一级电影| 91精品久| 中文一区| 51成人网| 久久久大香蕉| 蜜桃视频网站在线观看| 麻豆午夜福利视频| 国产毛片久久久久久久| 奇米一区| 91无码电影| 欧美怡春院| 一道本不卡视频| 中韩日美免费看的电影| 欧一美一婬一伦一区二区三区自慰,| 久久久久婷婷| 91精品国产欧美一区二区成人| 婷婷色综合视频二区| 国产婷婷五月天| 欧美熟妇高潮流白浆| 中文无码字幕在线| 中文字幕亚洲区| 五月丁香在线视频| 西西www444无码免费视频| 日本A一级片| 91久久精品无码一区| 日韩小电影免费观看高清完整版在线观| 人人妻人人澡人人爽人人欧美一区 | 伊人大香蕉在线视频| AV无码精品| 成年片免费观看网站免费观看,亚洲+欧... | 大香蕉在线75| 激情丁香| 国产日韩欧美在线观看| 98无码人妻精品一区二区三区| 偷拍一区二区三区| 欧美一级AA大片免费看视频| 九色PORNY9l原创自拍| 91AV在线播放| 91香蕉国产在线观看| 人人干超碰| 日本高清不卡视频| 中文字幕亞洲高清手機版第617| 新亚洲天堂男子Av-| 五月天婷婷小说| 在线观看亚洲一区| 日韩久久免费视频| 欧美黄网站| 天堂在线观看AV| 性久久久久久久久久| 色婷婷日韩精品一区二区三区| 69视频网站| 欧美性爱天天| 国产精品久久久久久久久借妻 | 无码一道本| 色五月国产| 国产三级一区二区| 免费在线观看黄视频| 天天日天天操天天干| 91在线无码精品秘网站| 亚洲色图五月天| 亚洲成人AⅤ| 欧美性爱中文字幕| 激情视频免费看| 青青草狠狠干| 乱伦一级| 中文字幕精品视频| 丁香五月天色婷婷| 亚洲欧洲天堂| 国产午夜免费| 成人视频免费在线观看| 无码视频免费播放| 狠狠地日| 香蕉视频在线看| 欧美三级在线| 亚洲无码AV免费观看| 蜜桃视频网址| 国产精品秘麻豆果冻传媒潘甜甜丶 | 亚洲综合网站| 干少妇视频| 日本中文视频| 91小宝寻花一区二区三区三级| 91麻豆福利在线观看| 免费黄色av网址| 日韩日日日| 日韩无码久久久| 伊人久久大香线蕉| 国产黄色视频免费看| 久久激情视频| 日本黄色视频电影| 国产欧美综合一区二区| 欧美一区二区在线视频| 欧美一区二区在线观看| 亚洲五月六月| 自拍偷拍影音先锋| 亚洲精品资源| 乱伦99| 成人av免费观看| 国精产品一区一区三区四川| 99视频在线| 一级a片在线播放| 成人毛片100免费观看| 大香蕉国产精品| 国产黄色电影在线| 久热青草| 四川BBBB擦BBBB| 三级无码视频在线观看| 西西444WWW无码大胆知乎| 自拍偷拍亚洲| 国产免费av在线观看| 99re6热在线精品视频| 在线观看者亚洲| 波多野结衣无码NET,AV| 韩国三级HD久久精品| 乌克兰毛片| 女同三区| 各种BBwBBwBBwBBw| 国产白丝在线观看| 欧美高清国产| 日韩免费黄色视频| 五月综合色| 自拍偷拍福利视频网站| 91亚洲国产成人久久精品麻豆| 日韩激情在线| 久久久久久黄| 一区二区无码高清| 91蜜臀| 久久99高清| 日韩久久视频| 国产45页| av在线天堂网| 伊人五月天激情| 亚洲人妻性爱| 啪啪啪免费视频| 日韩中文字幕av| 伊人啪啪| 乱子伦国产精品一区二区| 日韩18禁| 青青草原免费在线视频| 大香蕉尹在线| 99re6热在线精品视频功能 | 蜜臀久久久久久999| 竹菊影视一区二区三区| www.操| 免费无码高清视频| 亚洲一区图片| 国产日韩欧美在线播放| 99色色| 337P粉嫩大胆噜噜噜55569| 无码人妻一区二区三区免费n狂飙| 日韩免费A| 国产精品秘久久久久久一两个一起| 午夜国产| 亚洲黑人av| 免费看黄片的网站| 51XX嘿嘿午夜| 黄色免费一级片| 婷婷五月天中文字幕| 色哟哟网站| 97视频在线观看免费|