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

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

共 9624字,需瀏覽 20分鐘

 ·

2021-03-19 11:41

點(diǎn)擊上方“程序員成長(zhǎng)指北,回復(fù)“1”進(jìn)交流群

加入我們一起學(xué)習(xí),天天進(jìn)步

本文由螞蟻金服體驗(yàn)技術(shù)部的 kuitos 授權(quán)轉(zhuǎn)發(fā),文中主要介紹總結(jié)了一些基于 qiankun 的微前端應(yīng)用場(chǎng)景與實(shí)踐,讓我們跟隨作者一起來領(lǐng)略微前端的魅力~

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

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

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

image.png

接入這類平臺(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)單直觀,是微前端中最為常見的使用場(chǎng)景,通常我們會(huì)用這種方式將一堆獨(dú)立域名訪問的 MPA 應(yīng)用,整合成一個(gè)一體化的 SPA 應(yīng)用。

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

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

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

qiankun 2.0 的發(fā)布帶來一個(gè)全新的 API loadMicroApp,通過這個(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();

開發(fā)者可以在脫離路由的限制下,以更自由的方式去渲染我們的微應(yīng)用?;?loadMicroApp API,我們只需要做一些簡(jiǎn)單的封裝,即可以類似組件的開發(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, containerthis.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>;
  }
}

第二步:通過 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ù)型組件(類似于我們以前常說的端對(duì)端組件):比如帶聊天交互的客服機(jī)器人、帶引導(dǎo)功能的 intro 服務(wù)等。

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

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

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

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

嵌套渲染場(chǎng)景

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

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

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

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

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

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

這種場(chǎng)景下,我們其實(shí)只需要確保微應(yīng)用的路由系統(tǒng)不會(huì)干擾到全局的 URL 系統(tǒng)即可。幸運(yùn)的是 react-router 的 memory history 模式很好的解決了這一問題。如果你是一個(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 中可以再通過抽屜呼出 app2,同時(shí)瀏覽器地址欄也不會(huì)被 app2 的路由干擾。

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

極限渲染場(chǎng)景

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

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

image.png

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

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

  1. 是否需要特殊的微應(yīng)用生產(chǎn)方式
  2. 多路由系統(tǒng)共存帶來的 沖突/搶占 問題
  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í)開銷

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

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

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

function Home {
  return (
    <div>
      { /* 將同一個(gè)應(yīng)用的不同路由頁同時(shí)渲染出來 */ }
      <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)除了其帶來的巨石應(yīng)用解構(gòu)、技術(shù)棧無關(guān)等工程能力外,也為我們對(duì)一些已有的工程問題帶來了新的解題思路,比如:

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

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

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

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

新的 UI 共享模式

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

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

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

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

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)用之后,我們便可以通過配置的方式描述我們的站點(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)渲染出來的業(yè)務(wù)微應(yīng)用。

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

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

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

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

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

image.png

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

demo.jpg

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

寫在最后

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

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

最后的最后,誠(chéng)招天下英雄

上面提到的這些案例,包括一些想象中的場(chǎng)景,正在我們團(tuán)隊(duì)內(nèi)有條不紊地發(fā)生著,只是時(shí)機(jī)未到還不能更詳細(xì)的對(duì)外宣傳并與大家分享,歡迎有興趣的同學(xué)可以加入我們,與我們一起去探索更多微前端的可能性。

如果您對(duì)微前端感興趣,請(qǐng)發(fā)簡(jiǎn)歷到 [email protected],我們非常期望有機(jī)會(huì)能與您共事,探索出微前端下更多的場(chǎng)景可能性。

如果您對(duì)微前端沒什么興趣,不要緊,只需要您對(duì) antd、AntV、dva、umi、eggjs、ahooks 中任一類別的領(lǐng)域感興趣,您也可以發(fā)簡(jiǎn)歷到 [email protected] 來與我們共商大事。

團(tuán)隊(duì)介紹

  • 大部門:螞蟻集團(tuán)體驗(yàn)技術(shù)部
  • 部門主管:玉伯
  • 部門開源作品:antd、AntV、dva、umi、eggjs、qiankun、ahooks 等
  • 部門商業(yè)化產(chǎn)品:語雀
  • 直屬部門:平臺(tái)前端技術(shù)部 - 部門主管:偏右(antd 負(fù)責(zé)人),部門介紹:https://www.yuque.com/afx/about/skyline
  • 要求:基本沒要求,p5~p8 我們都需要,只要您想來試試就可以投簡(jiǎn)歷到 [email protected],HC 非常多!!
  • base 地:杭州、上海、成都 三地任選

關(guān)注我們

我們將為你帶來最前沿的前端資訊。

??愛心三連擊

1.看到這里了就點(diǎn)個(gè)在看支持下吧,你的點(diǎn)贊,在看是我創(chuàng)作的動(dòng)力。

2.關(guān)注公眾號(hào)程序員成長(zhǎng)指北,回復(fù)「1」加入高級(jí)前端交流群!「在這里有好多 前端 開發(fā)者,會(huì)討論 前端 Node 知識(shí),互相學(xué)習(xí)」!

3.也可添加微信【ikoala520】,一起成長(zhǎng)。

“在看轉(zhuǎn)發(fā)”是最大的支持


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

手機(jī)掃一掃分享

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

手機(jī)掃一掃分享

分享
舉報(bào)

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

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 人人操夜夜操| 黄色A片在线观看| 日韩在线第—页| 丁香五月少妇| 人人澡人人澡人人澡| 国产第一页在线播放| 国语精品自拍| 国产免费激情视频| 色男人天堂| 国产精品网站在线观看| 囯产精品一区二区三区线一牛影视1 | 黄色亚洲| 日韩黄色在线| 精品一区二区三区免费| 欧美XX888做受| 亚洲香蕉av| 黑人无码视频| 精品国产一区二区三区久久久蜜月| 开心五月激情网| 免费三级怡红院| 污污污污污www在线观看优势| 懂色午夜福利一区二区三区| 日韩精品人妻一区二区| 日本十八禁网站| 亚洲视频免费在线播放| 久久肏屄| 欧美在线视频一区二区| 777偷窥盗摄00000| 国产又大又粗又爽| 91成人在线视频| 在线观看日本vs欧洲vs美洲| 亚洲午夜福利在线| 青娱乐成人在线| 日韩一区二| 黄色视频A片| 成人性生活影视av| 91福利在线观看| 欧美9999| 色综合久| 色五月av| 一二区免费视频| 亚洲射色| 国产亚洲99久久精品熟女| 在线观看中文字幕亚洲| 亚洲精品字幕久久久久| 色视频在线观看| 欧美成人精品AAA| 国产56页| 国产二级片| 国产精品视频久久久| 成人动漫一区二区| 久久久久一| 精品国产午夜福利在线观看| 久久久久久久久久久国产| AV黄色网| 色操逼网| 日本特黄视频| 91麻豆成人精品国产| 亚洲第一色在线| 美女av日逼| 欧美精产国品一二三| 久久久免费| 国产一卡二卡在线| 无码人妻精品一区二区蜜桃91| 一区二区三区久久久久〖网:.〗| 亚洲黄在线观看| 国产手机拍视频推荐2023 | 亲孑伦XXXⅹ熟女| 亚洲色激情| 色五月天激情| 久久天堂影院| 在线观看三级网址| 国产欧美一区二区三区视频| 成人性生活视频| 亚洲四区| 中文字幕在线一区| AV麻豆| 成人视频在线播放| 久久精品熟妇丰满人妻99| 苍井空无码| 伊人亚洲| a片在线免费观看| 日韩精品在线播放| 91人妻人人澡人人爽人人精品| 91在线亚洲| 国产乱码一区二区三区的解决方法 | av玖玖| 欧美色视频在线观| 黄色视频在线观看亚洲一区二区三区免费 | 国产怡红院| 东京热一区二区三区| 二区在线观看| 婷婷精品在线| 欧美成人精品欧美一级私黄| 日韩国产一区二区| 成人激情在线观看| 久草新在线| 日韩| 自拍av在线| 中文字幕精品亚洲熟女| 国产精品综合激情| 男人的天堂黄色| 神马午夜51| 18禁www| 久久er| av在线天堂| 亚洲激情视频| 亚洲va在线∨a天堂va欧美va| 中文字幕高清| 国产人与禽zoz0性伦| 日韩成人AV在线播放| 中文亚洲精品字幕电影| 二区三区无码| 四虎成人精品永久免费AV九九 | 国产小视频在线播放| 国产精品国三级国产a11| 欧美黄色免费网站| 亚洲三级片在线| 欧美日韩免费一区二区三区| 国产—a毛—a毛A免费| 日韩动态图| 加勒比无码在线| 婷婷伊人綜合中文字幕小说| 欧美18禁黄免费网站| 国产在线久久久| 欧美性一区| 亚洲无码十八禁| 欧美老女人的逼| 国产精品1区2区3区| 国产九九九视频| 激情国产AV| 99亚洲天堂| 中文字幕精品视频在线观看| 粉嫩小泬BBBB免费看-百度 | 久久久久久亚洲| 日韩综合在线| 成人在线免费观看国产| 日本成人中文字幕在线观看 | a片在线观看视频| 青青草原视频在线| 91国语又粗又大对白| 91性爱网| 久在线观看| 亚洲日韩中文字幕| 久操视频在线观看| 大香蕉伊人影视| 自慰在线观看网站| 免费日比视频| 好男人WWW一区二区三区| 亚洲黄片免费在线观看| 日本操逼网站| 黄片免费大全| 日韩大码无码| 色哟哟一区| 亚洲AV无码乱码国产| 精品动漫3D一区二区三区免费版| 久久久精品免费| 三级a片| 国产视频导航| 亚洲精品成人av| 国产欧美一区二区三区特黄手机版 | 日韩精品人妻无码| 天天干女人| 九九热精品视频| 免费AV成人| 亚洲香蕉国产| 北条麻妃91人妻互换| 蜜桃av秘无码一区三| 99久久99九九九99九他书对| 日韩美女视频19| 精品日韩| 超碰中文在线| 中文字幕日韩美| 奇米色婷婷| 臭小子晚上让你爽个够视频| 国产资源av| 日韩高清国产一区在线| 最新毛片网站〖网:.〗| 欧美国产中文| 黄色免费观看网站| 五月婷婷亚洲| 国产小视频在线| 久久六月天| 欧美乱伦一区| 黄视频在线观看免费| 9i看片成人免费视频| 亚洲操逼网| 黄片www.| 男人视频网站| 一道本无码在线视频| 亚洲AV永久无码精品| a片在线免费观看| 亚洲一区免费| 精品久久大香蕉| 久操不卡| 日韩一级a片| 麻豆MD传媒MD0071| 中日韩黄色视频| 无码水蜜桃一区二区| 欧美亚洲日韩国产| 午夜福利码一区二区| 一级黄片学生妹| www.豆花社区成人| 操操av| A片视频免费看| 日韩精品在线观看视频| 亚洲成人第一网站| 色老板最新地址| 人人爱,人人操| 久久不卡| 国产精品日韩| 国产愉拍91九色国产愉拍| 91AV成人| 中文字幕在线观看av| 俺去了无码| 午夜美女福利视频| 婷色| 刘玥91精品一区二区三区| 九九色在线视频| 色呦呦视频在线观看| 免费看A片视频| 人妻天天爽夜夜爽| 青草91| 成人免费毛片视频| 伊人网导航| 免费看黄色的视频| 免费一级做a爱片毛片A片小说| 一本一道久久综合狠狠躁牛牛影视| 日韩在线大香蕉| 熟妇槡BBBB槡BBBB图| 波多野结衣成人在线| www.色999| 91麻豆国产福利在线观看| 国产传媒_色哟哟| 日韩无码一级| 男人天堂无码成人| 色天堂污| 无码a区| AV无码精品| 亚洲AV秘无码不卡在线观看| 内射91| 天天操操| 99成人在线视频| 91麻豆精品国产91久久久吃药 | 东京热这里只有精品| 特级西西444WWW高清大视频| 熟女人妻在线| 白浆AV| 婷婷久草网| 青青草乱伦视频| 一级特黄大片色| 成人伊人网| 人人人射| 中文字幕欧美视频| 国产色情性黄片Av网站| 大香蕉伊人电影| 免费国产三级片| 五十路在线视频| 黄色视频免费观看| 日韩欧美中文字幕在线视频| 18禁www| 五月婷婷中文版| 又黄又爽的网站| 亚洲无码第一页| 成人黄网站在线观看| 欧美成人在线视频网站| 日本Sm/调教/捆绑/紧缚| 亚洲xxxxxx| 色婷婷AV一区二区三区之e本道 | 久久久久久97| 国产黄色录像| 嫩BBB搡BBBB搡BBBB-百度| 成人h在线观看| 翔田千里无码精品| 欧美一级日韩| 无码av在线播放| 日韩无码123区| 亚洲国产激情视频| 中文字幕视频一区| 高潮国产| 亚洲青青草| 午夜视频99| 爱逼综合网| 国产成人a| 亚洲高清毛片一区二区| 久久99嫩草熟妇人妻蜜臀| 人人操碰成人网| 亚洲在线中文| 黄色成人网站在线免费观看| 中文字幕在线无码观看| 国产又大又粗| 久久视频一二| 色吧| 麻豆乱伦| 秋霞丝鲁片一区二区三区手机在绒免| 成人午夜毛片| 久久婷婷青青| 人人操综合| 性爱免费专区| 黄色三级电影| 啪啪啪啪网站| 澳门无码视频| 在线视频一区二区三区| 99精品一区二区| 午夜福利久久| 国内自拍激情视频| 色五月AV| 久久久三级片| 91福利网址| 九九热精品视频在线观看| 人人妻人人玩澡人人爽| 久草大| 亚洲性夜夜天天天天天天| 亚洲V无码| www.91av| 成人毛片18| 69免费视频| 亚洲天堂国产视频| 热久久久久| 无码人妻免费视频| 九九午夜| 爱搞在线观看| 免费观看的av| 操b视频在线观看| AV无码资源| 免费日韩AV| 狠狠干2021| 青青草视频黄| 99热精品久久| 操日本女人逼| 日韩在线视频一区| jizz国产| 在线观看日韩欧美| 这里只有精品在线观看| 欧美黄网站| 波多野结衣久久精品| 陈冠希和张柏芝mv| 欧美日本国产| 午夜无码三级| 午夜精品久久久久久久99老熟妇| 亚洲一区翔田千里无码| 在线免费看黄片| 波多野结衣av一区| 狠狠干影院| 91大屁股| 91中文在线| 伊大香蕉在线| 男人的天堂2019| www.豆花社区成人| 大香蕉伊人在线观看| 中文资源在线观看| 99热99| 国产无码AV| 久操精品| 最新免费一区二区三区| 成人网在线观看| 欧美熟妇一区二区| 免费a在线| 日韩一级免费在线观看| 99这里只有精品| 久久婷婷成人综合色怡春院| 在线观看av网站中文字幕| 国产三级性爱视频| 日韩一区二区无码| 日韩精品在线一区| 欧美精品久久久久久久久老牛影院| 亚洲射色| 成人三级视频| 国产精品揄拍100视频| 91激情电影| 日韩三级片无码| 国产精品久久久91| 人人澡人人爽人人精品| 在线观看免费人成视频| 91免费看| 国产精品久久久久久久久久| 乱子伦国产精品视频一级毛| 欧美日韩免费在线播放电影在线播放电影在线播放电影免费 | 久久污| 在线成人视频网站大香蕉在线网站| 粉嫩av懂色av蜜臀av分享| 日韩最新无码发布| 日韩午夜| 婷婷色中文网| 中文字幕不卡| 婷婷天堂网| 黑人av在线观看| 国产精品无码成人AV在线播放| 亚洲黄色激情| 精品中文字幕在线观看| 午夜视频在线看| 亚洲AV无码成人精品区天堂小说| 九九视频免费观看| 人人爱人人爽人人操| 黄网站免费在线观看| 一级片网址| 91精品久久久久久久| 毛片资源| 看90后操B| 亚洲中文娱乐| 亚洲中文字幕成人| 国产青青| 九九热视频在线| 亚洲综合在线视频| 韩国精品无码| 五月天深爱激情网| 日韩黄色小说| 激情丁香五月婷婷| 老女人操逼| 成人色色网站| 黄色性爱网址| 久久av一区二区三区| 亚洲精品秘一区二区三区在线观看| 2016av天堂网| 妻子互换被高潮了三次| 无码AV电影在线观看| 中文字幕在线视频观看| 曰逼视频| 欧美你懂的| 欧美黄色精品| 亚洲免费在线看| 亚洲狼人综合| 久艹综合| 欧美性久久久久| 一区二区三区中文字幕| 欧美日韩在线观看中文字幕| 91av在线播放| A片免费在线| 欧美一级片免费观看| 豆花成人社区,视频| 俄罗斯白嫩BBwBBwBBw91| 国产人与禽zoz0性伦| 无码精品人妻一区二区三区漫画| 亚洲AⅤ无码一区二区波多野按摩 69国产成人综合久久精品欧美 | 69国产精品成人无码视频色| 91最新视频| 久久ww| 色九九九九| 日韩无码A级片| 538在线视频| 国产AA片| 中文字幕无码免费| 欧美午夜福利| 69成人无码| 欧美黄色一级网站| 五月天干美女| 国产欧美精品一区二区色综合| 日韩在线成人中文字幕亚洲| 久久一做爱| 亚洲欧美日韩综合| 国产91白丝在线播放| 2016av天堂网| 日韩免费视频一区二区| 日韩啪啪啪网站| 色丁香六月| 伊人久久大香| 99久久99久久久精品棕色圆| 影音先锋色资源站| 国产亲子乱A片免费视频| 精品无码人妻一区二区| 91成人区| 最新va在线观看| 91人妻论坛| 18精品爽国产冫绿帽社| 在线看V片| 五月婷婷丁香六月| 国产AA片| 午夜无码福利在线观看| 国产欧美一区二区三区视频| 国产欧美精品| 在线色网站| 婷婷五月天免费视频| 免费黄色在线| 学生妹一级片| 中文四区| 人人操成人| 91视频播放| 奇米影视狠狠干| 亚洲高清无码中字| 性欧美成人播放77777| 国产成人精品无码免费| 欧美精品在线观看视频| 国产无遮挡又黄又爽又色视频软件 | 久久嫩草国产成人一区| 久久99视频免费观看| 国产精品久久| 国产黄色视频免费观看| 国产成人自拍视频在线观看| 青青草Av| 日日干视频| 婷婷午夜精品久久久久久性色AV| 成人无码免费视频| 国产麻豆免费| 久久电影五月天| 高清无码三级| 操逼操123| 日本国产黄色| 欧美日韩一区二区三区在线电影| 狠狠干网| 国产AV黄片| 伊人青青操| 精品亚洲一区二区三区| 超碰人人干| 综合夜夜| 天堂va欧美va亚洲va在线| 国产一二三区在线| 国产精品一二三| 无码AⅤ一区二区三区| 大奶无码| 国产精品中文字幕在线观看| 小H片在线观看| 国产成人99久久亚洲综合精品 | 操逼欧美| 免费黄片网站在线观看| 亚洲免费视频网| 999福利视频| 久久99高清视频| 加勒比久久综合| 精品久久ai| 日韩成人三级片| 97在线资源| 国产精品9999久久久久仙踪林 | 免费无码婬片A片AA片| 天天干天天干天天| 亚洲无码网址| 黄色电影网站在线观看| 免费一级AAAAA片在线播放| 999热这里只有精品| 天天干夜夜操| 免费成人黄片| JLZZJLZZ亚洲女人| 一级电影视频去去去| 熟女伦乱| 爱视频福利网| 亚洲操逼网| 成人AV免费在线观看| 狠狠干天天干| а中文在线天堂精品| 免费av播放| 日韩三级中文| 日韩一级黄色片| 亚洲乱淫| 自拍三级片| 成人黄色小电影| 人成在线视频| 国产免费性爱视频| 2019中文字幕在线| 无码中文字幕在线观看| 国产一区二区三区免费播放| 日本高清无码在线| 日本中文字幕中文翻译歌词| 在线免费观看成人网站| 久久天堂影院| 国产AV自拍-久| 日韩一区二区视频| 国产理论视频| 青娱乐国产视频| 天天天天天天天干| 粉嫩99精品99久久久久久特污| 欧美色图狠狠操| 中文字幕高清免费看| 黄色片免费| 在线视频一区二区三区| 壁特壁视频在线观看| 国产又粗又长视频| 又黄又爽视频| 蜜桃AV在线观看| 亚洲国产av电影| 亚洲无码中文人妻| 亚洲三级在线| 一道本在线观看| 一级黄色视频在线观看| 亚洲性爱一区二区| 91成人福利视频| 久久精品导航| 欧美v在线观看| 亚洲五月激情| 在线观看视频日韩| 美日韩视频欧美一区二区视频| 色噜噜狠狠色综无码久久合欧美 | 一级黄色视频在线观看| 91丨PORNY丨丰满人妻网站 | 中文字幕综合| 国产AV一区二区三区四区| AV网站免费观看| 欧洲亚洲免费视频| 免费啪啪网| 97精品人妻一区二区三区香蕉 | 狠狠色噜噜狠狠狠888| 日本少妇激情视频| www、久久| 日韩精品成人专区无码| 天天色色| 伊人久操| 69黄色视频| 91狠狠色丁香婷婷综合久久| 国产一级婬片A片免费无成人黑豆 国产真实露脸乱子伦对白高清视频 | 老妇槡BBBB槡BBBB槡| 嫩BBB| 精产国品一区二区三区| A免费在线观看| 无码在线看| 亚洲码AV波多野| 天天天天色| 仙踪林777777野大粗| 色人阁人妻中文字幕| 中文字幕免费| 欧美日韩国产在线观看| 三级av在线| 伊人网视频在线| 日本不卡中文字幕| 精品乱子伦一区二区三区免费播成| 亚洲激情黄色| 免费AV在线播放| 中文字幕在线观看视频免费| 黄片中文字幕| 高清无码不卡在线观看| 成人黄A片免费| 国产精品九九九九九九| 欧美MV日韩MV国产网站| 国产亚洲视频免费观看| 色五月亚洲| 成人性生交大片免费看小芳| 亚洲AAA电影| 国产乱码精品一区二区三区的特点| 女神思瑞精品一区二区三区| 悠悠无码一区日韩妇女| 精品久| 99在线免费视频| 一区二区av| 91欧美日韩| 成人在线网| 日本免费爱爱视频| 青娱乐亚洲领先| 69AV在线观看| 国产黄色在线视频| 国产第四页| 国产小黄片| 日逼视频免费观看| 嫩BBB嫩BBB嫩BBB| 丁香六月激情| 四虎精品一区二区三区| 91无码人妻传媒tv| 高清无码视频网站| 日韩婷婷| 国产一级a毛一级a爰片| 欧美成人免费| 深爱激情五月天| 成人视频18| 色色99| 专业操美女视频网站| 激情一一区二区三区| 牛牛成人在线视频| 亚洲人气无码AV| 色婷婷激情五月天| 欧美成人精品a| 伊人色色综合| 国产欧美在线观看不卡| 日屄视频免费看| 高潮视频在线| 加勒比久久88| 中文字幕成人免费视频| 日韩少妇AV| 人人操狠狠操| 四虎影成人精品A片| 日韩高清欧美| 秋霞一区二区| 天天搞天天搞| 日韩在线视频中文字幕码无| 俺来也在线视频| 亚洲无线视频| 亚洲专区中文字幕| 天天日天天射天天操| 北条麻妃无码视频在线观看 | 欧美mv日韩mv国产| 日韩啪啪啪网站| 亚洲中文字幕免费在线观看 | 嫩BBB搡BBBB搡BBBB| 青青草在线观看免费| 国产免费啪啪视频| 操b视频在线免费观看| 亚洲最大网站| 中文字幕免费AV| 青青草精品在线视频| 国产黄色视频在线观看免费| 奇米影视狠狠干| 激情视频在线免费观看| 五月天色综合| 亚洲精品偷拍| 欧美性爱一区| 国产三级自拍| 少妇无码中文| 国产卡一卡二在线观看| 中文资源在线√8| 综合久久视频| 免费观看一级毛一片| 狼友综合| 国产伊人在线| 黄片一区二区三区| 狠狠干狠狠撸| 伊人干综合| 韩剧《邻居的妻子》电视剧| 日韩三级在线免费观看| 日本欧美一级片| 一级a一级a爰片免费免免中国A片| 亚洲AV无码乱码国产精品| 高清视频无码| 久久嫩草国产成人一区| 精品一区二区久久久久久久网站| 亚洲色欲色欲www在线成人网| 国产在线观看国产精品产拍| 午夜aaa| 国产一级黄片| 亚洲福利一区二区| 妹子色综合| 成人在线黄片| 色婷婷久综合久久一本国产AV| 亚洲人成小说| caopro| 国产TS丝袜人妖系列视频| 国产黄色视频在线| AV性爱社区| 成人黄色导航| 国产SM视频| 99国产在线观看免费视频| 欧美性爱天天操| 超碰在线国产| 日韩欧美性爱| 日韩在线观看| 自拍无码视频| 91国在线视频| 老师搡BBBB搡BBB| 俺来操| 在线中文无码| 国产一区二区无码| 欧美性爱精品一区| 翔田千里无码视频| 国产在线精品自拍| 黄色在线视频观看| 国产精品s色| 91女人18毛片水多的意思| 特级WWW444至码| 国产免费一区二区三区网站免费| 日韩啪啪片| 欧美成人国产| 亚洲精选中文字幕| 亲子伦一区二区三区| 成人性生活免费视频| 日韩在线一区二区三区| 一本色道久久88综合无码| 亚洲一二三四区| 一级a看片在线观看| 久草网在线| 老熟女乱伦| 殴美色色网| 黄色成人网站大全| 欧美性爱XXXX黑人XYX性爽| 国产3区| 日本A片视频| 国产a区| 国产精品一品二区三区的使用体验 | 一级片欧美| 怡红院AV| 久久久久国产一区二区三区四区| jizz18日本| 色悠悠久久综合| 韩国精品一区二区三区| 欧美日韩国产成人| 三级丁香在线| 99久99| 亚洲男同Gay一区二区| 久青草资源福利视频| 中文字幕一区二区三区四虎在线 | 欧美在线视频播放| 亚洲专区视频| 亚洲精品无码视频| 福利视频中文字幕| a级片在线观看| 午夜天堂网| 无码高清一区二区| 最近中文字幕在线视频| 免费福利视频网站| 日本有码在线| 性V天堂| 99偷拍| 婷色五月| 怡春院院成人免费视频| 无码人妻精品一区二区蜜桃91| 国产黄片在线免费观看| 亚洲AV秘一区二区色盗战流出 | 手机在线观看AV| 38t6电影网logo高清图片 | 另类老妇性BBwBBw| 91麻豆成人精品国产| 欧美亚洲日韩在线观看| 日韩欧美内射| 欧美一区二区无码视频| 五月天婷婷在线播放视频免费观看| 国产日韩中文字幕| 午夜成人福利片| 亚洲性爱在线观看| 少妇人妻一区| 在线www| 超碰天天| 国产午夜福利电影| 性欧美xxxx| 婷婷国产视频| 91在线无码精品秘| 蕉久中文字慕| 波多野结衣av一区| 精品一区二区三区视频| 亚洲精品蜜桃| 国产免费一区二区三区四区| 亚洲无码中文视频| 中文字幕在线视频免费观看| 中文字幕伊人| 人人人人干| a无码视频在线观看| 国产精品人妻AⅤ在线看| 亚洲福利| 国产精品人妻无码一区牛牛影视| 波多野结衣亚洲视频| 成人免费看AA片| 五月天久久久久久| 国产三级无码视频| 操bbbb| 亚洲无码视频在线| 国产精品777777| 天天操天天操天天操天天操 | 成人欧美一区二区三区白人| 91视频第一页| 色呦呦一区二区三区| 黄色视频免费在线观看| 超碰永久| 色妞视频| 无码免费观看视频| 操碰人人操| 久久精品国产亚洲AV成人婷婷| 久久久福利视频| 中文字字幕中文字幕乱码| 天天草视频| 日韩中文在线视频| 特级西西人体444WWw高清大胆| 丁香五月成人网| 亚洲精品资源在线| 91视频在线观看免费| 簧片网站免费| 精品美女视频在线观看免费软件 | 欧美一级欧美三级在线观看| 岛国无码在线| 一本视频| 一级黄色视频免费观看| 国产一级a毛一级做a爱| 国产特黄| 99自拍网| 一级a片在线观看| а√在线中文网新版地址在线 | 国产A片精品| 久久大香蕉精品| 自拍偷拍中文字幕| 狠狠色AV| 日韩一区二区三区无码| 青娱乐91| 亚洲国产成人在线| 中文字幕第11页| 亚洲国产婷婷| 激情婷婷av| 强奸乱伦五月天| 无码人妻一区二区三区| 夜夜操狠狠操| 韩国无码片| 久草中文在线| 午夜福利无码电影| 91香蕉国产在线观看软件| 韩国高清无码60.70.80| 欧美天天撸| 香蕉久久网| 91蜜桃传媒| 肏屄视频在线播放| 91高清视频| 亚洲视频A| 丁香五月天啪啪| 中文字幕免费视频在线播放| 国产精品久久久大香蕉| 欧美一级婬片免费视频华泰老添妇| 国产成人无码区免费视频| 欧美成人福利在线观看| 自拍偷拍国产| 久久色在线视频| 一级黄色录像带| 亚洲AV在线人妻| 中文字幕巨肉乱码中文乱码| 自拍偷拍在线视频| 亚洲日韩一区二区三区| 五月天婷婷色色| 91综合网| 深夜av| 91狠狠| 蝌蚪窝免费在线视频| 日本熟妇高潮BBwBBwBBw|