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

美業(yè)微前端的落地

共 12668字,需瀏覽 26分鐘

 ·

2021-11-07 10:13

點擊上方 前端Q,關(guān)注公眾號

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


2020年4月,有贊美業(yè)的前端團(tuán)隊歷經(jīng)7個月時間,完成了美業(yè)PC架構(gòu)從單體SPA到微前端架構(gòu)的設(shè)計、遷移工作。PPT在去年6月份就有了,現(xiàn)在再整理一下形成文章分享給大家。

頭圖

目錄

  • Part 01 “大話”微前端

    • 微前端是什么
    • 背景
    • 目標(biāo)
    • 達(dá)成價值
    • 缺點
  • Part 02 架構(gòu)與工程

    • 微前端方案有哪些
    • 架構(gòu)設(shè)計選型注意點
    • 需求分析
    • 設(shè)計原則
    • 應(yīng)用架構(gòu)圖
    • 系統(tǒng)拆分
    • 時序圖
    • 前端流程圖
  • Part 03 關(guān)鍵技術(shù)

    • 關(guān)鍵技術(shù)一覽
    • 架構(gòu)核心
    • 注冊中心
    • 代碼復(fù)用
    • 子應(yīng)用
  • Part 04 項目實施

    • 立項前的心路
    • 參考微前端資料
    • 進(jìn)行PC架構(gòu)優(yōu)化計劃
    • 風(fēng)險
    • 迭代立項
    • 進(jìn)展
    • 后續(xù)計劃

Part 01 “大話”微前端

把這個事情的前因后果講清楚

微前端是什么

想要回答這個問題直接給一個定義其實沒那么難,但是沒接觸過的同學(xué)未必理解。所以需要先介紹一下背景,再解釋會更容易明白。

web發(fā)展1

這張圖,展示了軟件開發(fā)前端后分工的三個時期:

  1. 單體應(yīng)用:在軟件開發(fā)初期和一些小型的Web網(wǎng)站架構(gòu)中,前端后端數(shù)據(jù)庫人員存在同一個團(tuán)隊,大家的代碼資產(chǎn)也在同一個物理空間,隨著項目的發(fā)展,我們的代碼資產(chǎn)發(fā)展到一定程度就被變成了巨石。
  2. 前后端分離:前端和后端團(tuán)隊拆分,在軟件架構(gòu)上也有了分離,彼此依靠約定去協(xié)作,大家的生產(chǎn)資料開始有了物理上的隔離。
  3. 微服務(wù)化:后端團(tuán)隊按照實際業(yè)務(wù)進(jìn)行了垂直領(lǐng)域的拆分單一后端系統(tǒng)的復(fù)雜度被得到分治,后端服務(wù)之間依靠遠(yuǎn)程調(diào)用去交互。這個時候前端需要去調(diào)用后端服務(wù)時候,就需要加入一層API網(wǎng)關(guān)或者BFF來進(jìn)行接入。
web發(fā)展2

現(xiàn)在很多互聯(lián)網(wǎng)公司的研發(fā)團(tuán)隊的工作模式更靠近這種,把整個產(chǎn)品拆分成多個阿米巴模式的業(yè)務(wù)小組。
在這種研發(fā)流程和組織模式下,后端的架構(gòu)已經(jīng)通過微服務(wù)化形成了拆分可調(diào)整的形態(tài),前端如果還處于單體應(yīng)用模式,不談其它,前端的架構(gòu)已經(jīng)給協(xié)作帶來瓶頸。
另外 Web 3.0 時代來臨,前端應(yīng)用越來越重,隨著業(yè)務(wù)的發(fā)展迭代和項目代碼的堆積,前端應(yīng)用在勤勞的生產(chǎn)下演變成了一個龐然大物。人關(guān)注復(fù)雜度的能力有限,維度大概維持在5~8左右。單體應(yīng)用聚合的生產(chǎn)資料太多,帶來復(fù)雜性的維度太多,也容易引發(fā)更多的問題。簡而言之,傳統(tǒng)的SPA已經(jīng)沒辦法很好的應(yīng)對快速業(yè)務(wù)發(fā)展給技術(shù)底層的考驗。
我們的產(chǎn)品和前端項目也同樣遇到了這個問題。如何解決這個問題呢?
其實后端的發(fā)展已經(jīng)給出了可借鑒的方案,在理念上參照微服務(wù)/微內(nèi)核的微前端架構(gòu)應(yīng)時而生。
想要解決這個問題,在吸引力法則的指引下我們遇到了微前端架構(gòu),也驗證了它的確幫助我們解決了這個難題。

現(xiàn)在給出我們的微前端這樣一種定義:

微前端是一種類似于微內(nèi)核的架構(gòu),它將微服務(wù)的理念應(yīng)用于瀏覽器端,即將 Web 應(yīng)用由單體應(yīng)用轉(zhuǎn)變?yōu)槎鄠€小型前端應(yīng)用聚合為一的應(yīng)用。多個前端應(yīng)用還可以獨立運行、獨立開發(fā)、獨立部署。

背景

背景
  1. 美業(yè)PC作為一個單體應(yīng)用經(jīng)歷4年迭代開發(fā),代碼量和依賴龐大,純業(yè)務(wù)代碼經(jīng)統(tǒng)計有60多萬行
  2. 工程方面,構(gòu)建部署的速度極慢,開發(fā)人員本地調(diào)試體驗差效率低,一次簡單的構(gòu)建+發(fā)布需要7+8=15分鐘以上
  3. 代碼方面,業(yè)務(wù)代碼耦合嚴(yán)重,影響范圍難以收斂,多次帶來了“蝴蝶效應(yīng)”式的的線上Bug和故障
  4. 技術(shù)方面,通用依賴升級帶來的改動和回歸成本巨大,涉及例如Zent組件、中臺組件等依賴包相關(guān)的日常需求和技術(shù)升級幾乎不可推動
  5. 測試方面,單應(yīng)用應(yīng)對多人和多項目發(fā)布,單應(yīng)用發(fā)布總和高且非常頻繁,每次的集成測試都有沖突處理和新問題暴露的風(fēng)險
  6. 組織方面,單應(yīng)用也無法很好應(yīng)對業(yè)務(wù)小組的開發(fā)組織形式,邊界職責(zé)不清晰且模塊開發(fā)易干擾
  7. 架構(gòu)方面,前端無法和后端形成對應(yīng)的領(lǐng)域應(yīng)用開發(fā)模式,不利于業(yè)務(wù)的下沉,也無法支持前端能力的服務(wù)化和對技術(shù)棧的演進(jìn)依賴

總體來說,臃腫的單體應(yīng)用模式,給開發(fā)人員帶來了無法忍受的難處,給快速支撐業(yè)務(wù)帶來了很大的瓶頸,也沒有信心應(yīng)對接下來的業(yè)務(wù)的繼續(xù)拓展。對美業(yè)PC進(jìn)行架構(gòu)調(diào)整就是非常迫切和有價值的事情了

目標(biāo)

  1. 業(yè)務(wù)架構(gòu)層面,圍繞美業(yè)PC的業(yè)務(wù)形態(tài)、項目架構(gòu)以及發(fā)展趨勢,將大型多團(tuán)隊協(xié)同開發(fā)的前端應(yīng)用視為多個獨立團(tuán)隊所產(chǎn)出功能的組合。
  2. 技術(shù)架構(gòu)層面,解耦大型前端應(yīng)用,拆分成基座應(yīng)用、微前端內(nèi)核、注冊中心、若干獨立開發(fā)部署的子系統(tǒng),形成分布式體系的中心化治理系統(tǒng)。
  3. 軟件工程方面,保證漸進(jìn)式遷移和改造,保證新老應(yīng)用的正常運行。

達(dá)成價值

業(yè)務(wù)價值

  • 實現(xiàn)了前端為維度的產(chǎn)品的原子化,如果整合新業(yè)務(wù),子應(yīng)用可以快速被其他業(yè)務(wù)集成
  • 以業(yè)務(wù)領(lǐng)域劃分,讓組織架構(gòu)調(diào)整下的項目多人協(xié)作更職責(zé)清晰和成本低,且適應(yīng)組織架構(gòu)調(diào)整
  • 減慢系統(tǒng)的熵增,鋪平業(yè)務(wù)發(fā)展道路。

工程價值

  • 實現(xiàn)了業(yè)務(wù)子應(yīng)用獨立開發(fā)和部署,構(gòu)建部署的等待耗時從15分鐘降到了1分半
  • 支持漸進(jìn)式架構(gòu),系統(tǒng)子應(yīng)用之間依賴無關(guān),可以單個升級依賴,技術(shù)棧允許不一致,技術(shù)迭代的空間更大
  • 前端能力能夠服務(wù)化輸出
  • 架構(gòu)靈活,新的業(yè)務(wù)可以在不增加現(xiàn)存業(yè)務(wù)開發(fā)人員認(rèn)知負(fù)擔(dān)的前提下,自由生長無限拓展

缺點

一個架構(gòu)的設(shè)計其實對整體的一個權(quán)衡和取舍,除了價值和優(yōu)勢之外,也帶來一些需要去考慮的影響。

缺點

Part 02 架構(gòu)與工程

從全局視角把握成果

微前端方案有哪些

  1. 使用 HTTP 服務(wù)器反向代理到多個應(yīng)用
  2. 在不同的框架之上設(shè)計通訊、加載機制
  3. 通過組合多個獨立應(yīng)用、組件來構(gòu)建一個單體應(yīng)用
  4. 使用 iFrame 及自定義消息傳遞機制
  5. 使用純 Web Components 構(gòu)建應(yīng)用
  6. 結(jié)合 Web Components 構(gòu)建
微前端

每種方案都有自己的優(yōu)劣,我們兄弟團(tuán)隊采用了最原始的網(wǎng)關(guān)轉(zhuǎn)發(fā)配置類似 Nginx 配置反向代理,從接入層的角度來將系統(tǒng)組合,但是每一次新增和調(diào)整都需要在運維層面去配置。

而 iframe 嵌套是最簡單和最快速的方案,但是 iframe的弊端也是無法避免的。
Web Components的方案則需要大量的改造成本。
組合式應(yīng)用路由分發(fā)方案改造成本中等且滿足大部分需求,也不影響個前端子應(yīng)用的體驗,是當(dāng)時比較先進(jìn)的一種方案。

架構(gòu)設(shè)計選型注意點

  • 如何降低系統(tǒng)的復(fù)雜度?
  • 如何保障系統(tǒng)的可維護(hù)性?
  • 如何保障系統(tǒng)的可拓展性?
  • 如何保障系統(tǒng)的可用性?
  • 如何保障系統(tǒng)的性能?

綜合評估之后我們選用了組合式應(yīng)用路由分發(fā)方案,但是仍然有架構(gòu)整體藍(lán)圖和工程實現(xiàn)需要去設(shè)計。

需求分析

  1. 子應(yīng)用獨立運行/部署
  2. 中心控制加載(服務(wù)發(fā)現(xiàn)/服務(wù)注冊)
  3. 子應(yīng)用公用部分復(fù)用
  4. 規(guī)范子應(yīng)用的接入
  5. 基座應(yīng)用路由和容器管理
  6. 建立配套基礎(chǔ)設(shè)施

設(shè)計原則

  1. 支持漸進(jìn)式遷移,平滑過渡
  2. 拆分原則統(tǒng)一,嘗試領(lǐng)域劃分來解耦

應(yīng)用架構(gòu)圖

應(yīng)用架構(gòu)圖

系統(tǒng)拆分

系統(tǒng)拆分

這里拆分需要說明三個點:

  • 獨立部署(服務(wù)注冊):上傳應(yīng)用資源包(打包生成文件)到Apollo配置平臺,是一個點睛之筆
  • 服務(wù)化和npm包插件化的區(qū)別是不需要通過父應(yīng)用構(gòu)建來集成,彼此依賴無關(guān),發(fā)布獨立,更加靈活/可靠
  • 同時 Apollo 承載了注冊中心的功能,可以省去子應(yīng)用的web服務(wù)器的這一層,簡化了架構(gòu)

時序圖

時序圖

前端流程圖

流程圖

## Part 03 關(guān)鍵技術(shù)

落地中有哪些值得一提的技術(shù)細(xì)節(jié)

關(guān)鍵技術(shù)一覽

我們按項目拆分來結(jié)構(gòu)化講述,有架構(gòu)核心、注冊中心、子應(yīng)用、代碼復(fù)用四篇。
其中包含了這些技術(shù)點:

  1. Apollo
  2. Apollo Cli
  3. Version Manage
  4. Sandbox
  5. RouterMonitor
  6. MicroPageLoader
  7. Shared Menu
  8. Shared Common

[架構(gòu)核心]消息通信

消息通信
消息通信1
消息通信2
消息通信3

[架構(gòu)核心]路由分發(fā)

路由分發(fā)

當(dāng)瀏覽器的路徑變化后,最先接受到這個變化的是基座的router,全部的路由變化由基座路由 RouterMonitor 掌管,因為它會去劫持所有引起url變化的操作,從而獲取路由切換的時機。如果是apps/xxx/#之前的變化,只會攔截阻止瀏覽器再次發(fā)起網(wǎng)頁請求不會下發(fā),沒有涉及#之前的url變化就下發(fā)到子應(yīng)用,讓子應(yīng)用路由接管。

[架構(gòu)核心]應(yīng)用隔離

主要分為 JavaScript執(zhí)行環(huán)境隔離 和 CSS樣式隔離。

JavaScript 執(zhí)行環(huán)境隔離:每當(dāng)子應(yīng)用的JavaScript被加載并運行時,它的核心實際上是對全局對象 window 的修改以及一些全局事件的的改變,例如 JQuery 這個js運行之后,會在 window 上掛載一個 window.$ 對象,對于其他庫 React、Vue 也不例外。為此,需要在加載和卸載每個子應(yīng)用的同時,盡可能消除這種沖突和影響,最普遍的做法是采用沙箱機制 SandBox。
沙箱機制的核心是讓局部的 JavaScript 運行時,對外部對象的訪問和修改處在可控的范圍內(nèi),即無論內(nèi)部怎么運行,都不會影響外部的對象。通常在 Node.js 端可以采用 vm 模塊,而對于瀏覽器,則需要結(jié)合 with 關(guān)鍵字和 window.Proxy 對象來實現(xiàn)瀏覽器端的沙箱。

CSS 樣式隔離:當(dāng)基座應(yīng)用、子應(yīng)用同屏渲染時,就可能會有一些樣式相互污染,如果要徹底隔離 CSS 污染,可以采用 CSS Module 或者命名空間的方式,給每個子應(yīng)用模塊以特定前綴,即可保證不會相互干擾,可以采用 webpack 的 postcss 插件,在打包時添加特定的前綴。
對于子應(yīng)用與子應(yīng)用之間的CSS隔離就非常簡單,在每次應(yīng)用加載是,就將改應(yīng)用所有的 link 和 style 內(nèi)容進(jìn)行標(biāo)記。在應(yīng)用卸載后,同步卸載頁面上對應(yīng)的 link 和 style 即可。

[架構(gòu)核心]核心流程圖

我們把路由分發(fā)、應(yīng)用隔離、應(yīng)用加載、通用業(yè)務(wù)邏輯收納到到了微前端內(nèi)核的二方包中,用作各個業(yè)務(wù)線復(fù)用,在內(nèi)部達(dá)成統(tǒng)一約定。

內(nèi)核流程圖

[注冊中心]Apollo

其實大部分公司在落地微前端方案的時候,并有沒所謂的注冊中心的概念。為什么我們的微前端也會有注冊中心這個概念和實際存在呢?選型的思考點也主要來自我們后端的微服務(wù)架構(gòu)。

注冊中心

為什么選擇引入注冊中心增加整體架構(gòu)的復(fù)雜度?

兩個原因:

  1. 我們的子應(yīng)用之間雖然不需要通信,但是也存在基座應(yīng)用需要所有子應(yīng)用的資源信息的情況,用來維護(hù)路由對應(yīng)子應(yīng)用資源地址的映射。大部分公司落地時候,都把子應(yīng)用的地址信息硬編碼到了基座。這樣子應(yīng)用增刪改時候,就需要去重新部署基座應(yīng)用,這違背了我們解耦的初衷。注冊中心把這份映射文件從基座剝離出來了,讓架構(gòu)具備了更好的解耦和柔性。
  2. 要知道我們的子應(yīng)用的產(chǎn)物入口是 hash 化的上傳到 CDN 的 JS 文件,同時避免子應(yīng)用發(fā)布也需要發(fā)布基座應(yīng)用。有兩個解決方案,一種是增加子應(yīng)用的 Web 服務(wù)器,可以通過固定的 HTTP 服務(wù)地址拿到最新的靜態(tài)資源文件。一種就是增加注冊中心,子應(yīng)用發(fā)布就是推送新的 JS地址給到 注冊中心,子應(yīng)用的架構(gòu)就可以更薄。

需要一個注冊中心的話,我們也有兩種方案,一種是自己自研一個專門服務(wù)于自己的微前端,雖然可以更加貼合和聚焦,但是作為注冊中心,高可用的技術(shù)底層要求下的熔斷降級等機制必不可少,這些研發(fā)難度大成本也高。還有一種是直接應(yīng)用成熟的提供注冊中心能力的開源項目或者依賴公司的已經(jīng)存在的技術(shù)設(shè)施組件。

最后我們確定在選用公司內(nèi)部的基礎(chǔ)技術(shù)設(shè)施的 Apollo 項目,優(yōu)勢有這么兩方面。

  1. 項目本身開源,成熟程度很高,在多環(huán)境、即時性、版本管理、灰度發(fā)布、權(quán)限管理、開放API、支持端、簡單部署等功能性方面做得很不錯,是一個值得信賴的高可用的配置中心。
  2. 公司內(nèi)部針對做了私有化定制和部署,更加適配業(yè)務(wù),并且在 Java 和 Node 場景下都有穩(wěn)定和使用,有維護(hù)人員值班。
apollo-basic

子應(yīng)用的打包構(gòu)建體驗

  1. 定位:一個子應(yīng)用構(gòu)建完是一個帶 hash 的靜態(tài)資源,等待被基座加載。

  2. 怎么做:

    1. 打包一個單入口的靜態(tài)資源,同時暴露全局方法給基座
    2. 每次構(gòu)建生成帶 hash 的入口 app.js
    3. 獲取打包產(chǎn)出生成上傳配置
    4. 根據(jù)環(huán)境參數(shù)上傳到apollo
  3. 體驗如何

    非常輕量,無須發(fā)布,構(gòu)建即可

子應(yīng)用如何推送打包完成的 cdn 地址給 Apollo

apollo頁面
  1. 獲取打包完成的產(chǎn)物的 JSON,獲取入口文件 Hash,和當(dāng)前項目的基礎(chǔ)信息。
  2. 基于上述配置生成內(nèi)容,然后調(diào)用 Apollo 平臺開放的 API 上傳到 Apollo。

如何進(jìn)行多環(huán)境發(fā)布及服務(wù)鏈協(xié)作

微應(yīng)用發(fā)布
  1. 環(huán)境主要分為測試、預(yù)發(fā)、生產(chǎn)。
  2. 打包完成后,根據(jù)微前端構(gòu)建平臺指定環(huán)境。
  3. 推送配置時候,指定 Apollo 對應(yīng)的環(huán)境集群就好了。
  4. 基座應(yīng)用在運行時候,會根據(jù)環(huán)境與 Apollo 交互對應(yīng)環(huán)境集群的注冊表信息。

[代碼復(fù)用]子應(yīng)用之間如何復(fù)用公共庫

1、添加 shared 為遠(yuǎn)程倉庫

git remote add shared http://gitlab.xxx-inc.com/xxx/xxx-pc-shared.git

2、將 shared 添加到 report 項目中

git subtree add --prefix=src/shared shared master

3、拉取 shared 代碼

git subtree pull --prefix=src/shared shared master

4、提交本地改動到 shared

git subtree push --prefix=src/shared shared hotfix/xxx

注:如果是新創(chuàng)建子應(yīng)用 1-2-3-4 ;如果是去修改一個子引用 1-3-4

[代碼復(fù)用]使用shared需要注意什么

  1. 修改了 shared 的組件,需要 push 改動到 shared 倉庫
  2. 如果一個 shared 中的組件被某個子應(yīng)用頻繁更新,可以考慮將這個組件從 shared 中移除,內(nèi)化到子應(yīng)用中

[子應(yīng)用]子應(yīng)用如何接入

首先,我們需要明白我們對子應(yīng)用的定位:

一個子應(yīng)用構(gòu)建完后是一個帶 hash 的靜態(tài)資源,等待被基座加載,然后在中心渲染視圖,同時擁有自己的子路由

第一步,根據(jù)我們的模板新建一個倉庫,并置入對應(yīng)子應(yīng)用的代碼

子應(yīng)用目錄結(jié)構(gòu)

第二步,接入shared以及修改一系列配置文件

第三步,進(jìn)行開發(fā)所需要的轉(zhuǎn)發(fā)配置

第四部,運行,并嘗試打包部署

[子應(yīng)用]子應(yīng)用能獨立調(diào)式嗎?怎么基座應(yīng)用聯(lián)調(diào)?

  1. 開啟基座,端口和資源映射到本地再調(diào)式
  2. Zan-proxy
  3. 本地 Nginx 轉(zhuǎn)發(fā)

[子應(yīng)用]子應(yīng)用開發(fā)體驗

開發(fā)體驗

Part 04 項目實施

一個問題從出現(xiàn)到被解決走過的曲折道路

1.立項前的心路

  1. 看過微前端這個概念,覺得花里胡哨,玩弄名詞,強行造出新概念。
  2. 對項目的目前出現(xiàn)的問題有個大概感知(是個問題)
  3. 從業(yè)務(wù)出發(fā)利用現(xiàn)有知識背景思考解決手段(幾乎無解)
  4. 回想了解過微前端架構(gòu)的概念和場景,感受到兩者有契合(人生若只如初見)
  5. 參考行業(yè)的解決方案印證,決定用微前端來脫掉膨脹的包袱(原來是該拆了)
  6. 首先把項目在前端架構(gòu)優(yōu)化理了一遍,輸出架構(gòu)圖(項目整體上探路)
  7. 接下來梳理各個業(yè)務(wù)模塊的依賴,看下有哪些(子應(yīng)用分析)
  8. 大量和不同人的聊天、了解、討論,獲取支撐技術(shù)選型的信息(外界專家)
  9. 確定微前端架構(gòu)在美業(yè)下的落地基本模型(架構(gòu)基本)
  10. 進(jìn)行概要技術(shù)設(shè)計(具象化)
  11. 明確迭代范圍
  12. 技術(shù)評審
  13. 拉幫結(jié)伙/分工
  14. kickoff
  15. 然而故事才剛剛開始…

2.參考微前端資料

微前端資料

3.進(jìn)行PC架構(gòu)優(yōu)化計劃

PC架構(gòu)優(yōu)化計劃1
PC架構(gòu)優(yōu)化計劃2
PC架構(gòu)圖

4.風(fēng)險

預(yù)知

  1. 開發(fā)人員投入度不足
  2. 技術(shù)上的不確定性來更多工期風(fēng)險
  3. 細(xì)節(jié)的技術(shù)實現(xiàn)需要打磨耗時超出預(yù)期
  4. 部分功能難以實現(xiàn)

意外

  1. 對項目架構(gòu)理解不準(zhǔn)確
  2. 任務(wù)拆分和邊界理解不到位
  3. 測試人員投入不足
  4. 協(xié)作摩擦

5.迭代立項

kickoff

6.進(jìn)展

  1. PC微前端基座應(yīng)用已上線
  2. PC數(shù)據(jù)拆分成子應(yīng)用已上線
  3. 協(xié)調(diào)中臺前端抽取了美業(yè)微前端內(nèi)核
  4. 通用工具方法和枚舉的可視化
  5. 搭配Apollo平臺形成了前端子應(yīng)用資源的注冊中心
  6. 子應(yīng)用接入文檔輸出
  7. 若干前端技術(shù)體系的優(yōu)化

7.后續(xù)計劃

afterplan

關(guān)于本文

作者:邊城到此莫若

https://segmentfault.com/a/1190000040106401


往期推薦


2021 TWeb 騰訊前端技術(shù)大會精彩回顧(附PPT)
面試題:說說事件循環(huán)機制(滿分答案來了)
專心工作只想搞錢的前端女程序員的2020

最后


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

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

點個在看支持我吧
瀏覽 50
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

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

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 中文字幕天天在线| 毛片网页| 2019人人操| 在线看的av| 中文字幕操逼网站| 中文无码熟妇人妻AV在线| 亚洲a片在线观看| 亚洲无码三级视频| 亲子乱AV一区二区| 欧美一级片内射| 免费激情| 91青青草视频| 九九九无码| 欧产日产国产swag| 蜜桃av久久久亚洲精品| 久操网站| 国产一区二区在线视频| 亚洲无码精品久久| 天堂资源地址在线| 在线视频福利导航| 黑人无码AV黑人天堂无码AV| 久久久久成人电影| 91成人在线播放| 婷婷精品秘进入| 天天操嫩逼无套视频| 日韩精品免费| 亚洲狼人综合| 热久久免费| 中文字幕人妻在线中文乱码怎么解决| 草久在线观看| 亚洲韩国国产| 青青草无码在线视频| 国产黄色三级片| 日韩精品视频在线免费观看| 亚洲日本黄色视频| 亚洲伊人综合| 色五月激情小说| 亚洲青娱乐在线| 婷婷午夜精品久久久久久性色| 高清免费无码视频| 西西人体BBBBBB| 99久久久无码国产精品性波多| 麻豆91精品91久久久停运原因 | 久久久久久亚洲| 欧美一区视频| 国产精品93333333| 你懂的国产| 动漫精品一区二区| 日本一区中文字幕| 国产乱子伦-区二区| 黄色色情小说| 亚洲字幕| 亚洲免费视频观看| 亚洲一级A片| 色色丁香| 最新中文字幕免费MV第一季歌词 | 国产成人AV一区二区三区在线观看 | h视频在线观看网站| 九九视频免费在线观看| 九九九九九九精品视频| 91视频在线免费看| 欧美天堂成人三级| 久久18| 一级黄色电影免费看| 日韩A√| 免费一级大片| 成人日韩在线| 黄色视频A| 亚洲天堂一区在线观看| 91偷拍与自偷拍精品无码| 啊哈嗯| 麻豆蜜桃wwww精品无码| 日韩中文字幕无码| 久热精品视频| 午夜无码电影| 中文字幕在线免费视频| jiujiuav| 日本色影院| 欧美亚洲日韩一区二区三区| 91精品国产乱码久久久| 国产做受91一片二片老头| 91丨九色丨熟女老版| 人人插人人操| 中文字幕国产视频| 五月婷在线| 奇米狠狠色| 亚洲图片在线观看| 一级黄色毛片视频| 日韩成人精品在线| 91丨露脸丨熟女抽搐| 狼人综合在线| 一区二区三区免费播放| 黄色激情五月| 成人黄色小电影| 日韩成人三级片| 国产免费观看视频| 蜜桃91在线观看| 樱桃性爱视频| 无码国产精品一区二区视频| 亚洲女人天堂AV| 另类日韩| 亚洲一区二区免费视频| 安徽妇搡BBB搡BBBB户外老太太| 秋霞精品一区二区三区| 国产免费一区二区在线A片视频| 人妻熟女字幕一区二区| 久久av电影| 学生妹毛片| 欧美一级内射| 99热这里只有精品99| 欧美日韩国产一区| 麻豆91视频| 欧美熟女18| 黄片网站免费| 99成人| 91av在线播放| 色玉米地熟妇| 狼友视频第二页| 北条麻妃在线观看香蕉| 国产性爱一级片| 国产精品一区二区AV日韩在线| 精品人妻无码| 中文字幕在线不卡视频| 黄片免费观看| www.中文字幕| 国产免费视频| 国产精品一二| www.亚洲无码| 亚洲AV五月天在线| 超碰在线人人干| 黄色电影毛片| AV在线小说| 日B视频网站| 黄色爱爱视频| 亚洲日逼网| 国产成人综合在线| BBB搡BBB搡BBB搡BBB| AA丁香综合激情| 日韩AV无码一区二区三区| JlZZJLZZ亚洲美女18 | 国产精品96久久久| AA级黄色视频| 中文字幕不卡在线观看| AV天堂电影网| 嫩草Av| 无码高清免费| 日韩午夜福利| 夜夜狠狠躁日日躁| 午夜福利片| 久久三级电影| 亚洲一区二区黄色电影视频网站| 免费无码A片在线观看全| 亚洲色婷婷久久精品AV蜜桃| 国产乱子伦一区二区三区视频| 国产婬片lA片www777| 日韩欧美小电影| 欧美日韩精品一区二区三区视频播放| 国产秘精品一区二区三区免费| 天天日夜夜添| 亚洲无aV在线中文字幕| 青青草无码视频| 黄色视频日本| 精品久久免费| 91农村站街老熟女露脸| 国产性爱免费视频| 91免费在线视频观看| 欧美一级婬片AAAA毛片| 黄色片a片| 热久久久久久| 亚洲日逼网| 狠狠成人| 在线观看视频免费无码免费视频 | 另类罕见稀奇videos| 国产做受91| 91人妻人人操| 国产熟女一区二区三区五月婷| 久久成人18免费网站波多野结衣 | 亚欧洲精品视频| 曰韩一级片| 亚洲有码在线视频| 在线观看免费黄色| 无码国产视频| 欧美艹逼| 99热加勒比| 男女草逼| 黄色视频网站在线免费观看| 特一级黄色| 能看的黄色视频| 91精品国产成人www| 成人黄色视频网| 日韩無码专区| 国产视频a| 大鸡巴免费视频| 日韩午夜福利| 成人a毛片| 伊人免费视频| 久久久精品久久| 日本草逼网| 成人免费黄色视频网站| A一级黄色片| 日韩高清毛片| BBW老熟女BBw| 成人色色网站| 美女福利视频| 黄色电影视频在线| 91视频美女内射| 四虎影院色| 无码电影免费观看| 亚洲精品中文字幕在线观看| 一区高清无码| 成人精品18| AV无码不卡| 99精品99| 日韩一级片免费观看| 91九色视频| 国产裸体美女网站| 欧美又粗又大AAA片| 黄色av网站在线观看| 粉嫩99精品99久久久久| 呦小BBBB小小BBBB| 69成人网| 伊人综合电影| 久久国产香蕉| 伊人色播| 人妻无码一区二区三区摄像头| www.亚洲天堂| 午夜av在线| 怡红院av| 婷婷五月天av| 农村老太HD肉HD| 三级片91| 欧美激情五月天| 亚洲男人综合| 人人妻人人澡人人DⅤD| v天堂| 日韩黄频| 国产又爽又黄免费视频网站| 嫩BBB槡BBBB槡BBBB| 青娱乐网站| 香蕉视频亚洲| 欧美成人免费| 成人性生交大片免费看小芳| 亚洲精品18禁| 精品一二三| 久久一级片| 学生妹一级| 高清无码爱爱| 一本一道AV| 欧美mv日韩mv国产网站| 1024国产在线| 亚欧洲精品视频| 国产精品AV片| 中文字幕一区二区三区人妻在线视频| www人人操| 新BBWBBWBBWBBW| 久久久久久黄色| 一区二区三区中文字幕| 男女日皮视频| 操女人的网站| 日韩精品一二区| 在线观看黄色电影| 亚洲国产成人自拍| 无码国产精品一区二区视频| 91在线无码精品秘国产| 国产精品美女| 成年片免费观看网站免费观看,亚洲+欧... | 99人妻视频| AV在线小说| 182在线视频| 蜜桃av色偷偷av老熟女| 奇米影视色偷偷| 污视频网站免费观看| 天天艹| 亚洲偷| 人人操人人爱人人摸| 三级片网站在线观看| 思思99热| 大地8免费高清视频观看大全 | 91啪啪| 亚洲电影免费观看| 天天草天天干| 欧美精产国品一二三区| 午夜理论在线| 一级操逼毛片| 日韩天天干| 亚洲日韩在线a成| 色三区| 国产va| 国产伦精品一区二区三区色大师| 91热久久| 无码久久| 色丁香五月| 国产色视频一区二区三区QQ号| 无码久久| 豆花成人网站在线看| 日韩精品人妻中文字幕第4区| 国产www| 亚洲精品色婷婷| 国产色网站| 99久久精品国产色欲| 男人的天堂视频在线| 日韩一区二区在线视频| 91麻豆免费视频网站| 台湾中文字幕网| 亚洲乱码日产精品BD在线观看 | 亚洲成人一级片| 激情丁香五月| 肏屄在线观看| 日本黄在线观看| 在线日韩中文字幕| 亚洲欧美日韩动漫| 午夜无码福利| 艹逼视频免费观看| 国产精品婷婷午夜在线观看| 亚洲在线| 婷婷五月天激情电影| 亚洲天堂一区二区三区| 亚洲AV色香蕉一区二区三区| 久久精品无码视频| 嫩BBB嫩BBB嫩BBB| 人人操夜夜爽| 国产午夜无码视频在线观看| 国产精品9999久久久久仙踪林| 欧美日韩亚洲一区二区| 日韩操b| 久久久久久亚洲AV黄床| 色悠久久久| 国产偷拍精品视频| 性九九九九九九| 日韩三级片网站| 好好的日视频| 日韩免费在线观看视频| 久久国产精品在线| 亚洲国产精品午夜福利| 免费黄色小视频| 69国产成人综合久久精品欧美 | 操少妇视频| 欧美日本色| 2026国产精品视频| 国精产品秘一区二区-| 久久久久久免费| 学生妹做爱视频| 五月天深爱激情网| 精品一区二区ww| 狠狠躁婷婷天天爽综合| 俺去也在线视频| 亚洲狼人| 九九黄色| 亚洲中文字幕一区| 精品无码一区二区三区在线| 特级av| 又大又粗AV| 大香蕉操逼网| 麻豆18禁| 奇米91| 青青草黄色片| 岛国av免费看| 日韩午夜欧美精品一二三区| 国产成人精品一区二| 豆花视频在线观看| 欧美成人中文字幕在线| 亚洲无码免费看| 伊人逼逼| 久久国产免费| 国产一区二区视频在线| 无码人妻一区二区三区| 国产午夜精品一区二区三区嫩A| 国产成人精品AA毛片| 精品国产一二三区| 久久一级视频| 高清无码视频在线| 去干网欧美| 精品网站| 东京热AV在线| www日韩欧美| 人成在线免费视频| 黑人精品XXX一区一二区| 免费一级黄色| 欧美激情久久久| 日韩黄视频| 91在线电影| 麻豆人妻换人妻好紧| 日韩视频在线观看一区| 玖玖精品| 国产最新福利| 搡BBBB搡BBB搡五十| 视频一区二| 免费a片在线观看| 色欧美视频| 亚洲日韩AV无码专区影院| 91九色TS另类国产人妖| 久久久久久国产| 久热国产在线| 中文字幕av久久波多野结| 撸一撸在线观看| 在线观看免费黄片| 久久黄色视频免费观看| 无码啪啪| 日韩成人三级| 草逼A片| 在线观看视频黄| 麻酥酥在线视频| 国产性爱在线观看| 91理论片| 91无码人妻传媒tv| 亚洲大片在线观看| 亚洲天堂在线视频| 日韩黄色免费电影| 成人女人18女人毛片| 能看的av| 在线观看免费高清无码| 成人影音先锋| 日韩中文字幕专区| 日本欧美国产| 国产av网站大全| 91爱爱com| 丁香五月天在线| 99久久人妻精品免费二区| 日逼综合| 国产美女自拍| 亚洲AV成人无码精在线| 在线观看www视频| 亚洲九九| 亚洲理论视频| 精品视频中文字幕| 无码人妻一区二区三区线花季传件 | 四虎成人电影| 精品无码一区二区三区四区久久久软件| h国产在线| 日韩成人在线看| 久久夜色精品国产欧美乱极品 | 日韩毛片视频| 中文字幕在线播放视频| 欧美3P视频| 亚洲中文娱乐| 男人天堂网av| 中文无码在线播放| 天天日天天操天天摸天天干天日射天天插| 北条麻妃久久网站| 69看片| 久久久在线视频| 国产美女操逼| 51妺嘿嘿午夜福利在线| 欧美性爱一级视频| 91久久久久久| 亚洲成年人在线| 69av视频| 日韩精品一区二区在线观看| 五月天国产视频| aaa黄片| 国产成人自拍视频在线观看| 久久精品水多多www| 92丨九色丨偷拍老熟女| 欧美日韩国产91| 亚洲一级黄色片| 尤物com| 在线成年人视频| 在线免费无码| 国产一级AV片| 国精产品九九国精产品| 国产精品久久久久毛片SUV| 影音先锋国产在线| 99精品偷自拍| 99色热| 怡春院院成人免费视频| 成人国产精品免费观看| 亚洲免费观看高清完整版在va线观 | 中文字幕亚洲观看| 黄色三级在线观看| 骚逼无码| 亚洲中文字幕第一| 国产女18毛片多18精品| 99热在线只有精品| 2019中文字幕mv第三季歌词| 日本A片在线观看| a一级黄片| 亚洲精品系列| 内射精品| 亚洲无码手机在线观看| 色婷婷香蕉在线一区二区| 福利视频一区| 中文字幕乱码中文字幕| 欧美影院亚洲| 最新版本日本亚洲色| 91日日夜夜| 日韩少妇无码| 日韩肏屄视频在线观看| 翔田千里av| 69成人天堂无码免费| 亚洲小电影在线观看| 国产一区无码| 色碰碰| 日韩AA片| 久久草成人网| 国产精品a片| 亚洲成人av无码| 丰满人妻一区二区三区Av猛交| 91久久久无码国产一区二区三区| 亚洲成人视频在线免费观看| 国产A片一区| 亚洲无码视频在线播放| 亚洲综合色色| 久久大香蕉精品| xxx久久| 二区视频| 欧美在线v| 国产精品美女久久久久久久久| 亚洲无码高清视频| 美女黄色视频网站| 成人小视频在线| 男女抽插视频| 欧美黄色电影在线观看| 中文字幕AⅤ在线| 国产九九九九九九| 成人性爱自拍| 少妇一级片| 99国产精品免费视频观看8| 国产激情一区二区三区| 久久久婷婷五月亚洲国产精品 | 超碰在线进入| 日屄视频在线观看| 亚洲国产无码在线| 99er在线观看| 中字无码av| 欧美成人网站在线观看| 国产成人视频免费观看| 开心激情婷婷| 学生妹一级大片| 操逼网址| 五月天久久久| 天堂一区二区三区18| 91视频在线观看免费大全| 私人玩物』黑絲OL尤物| 国产免费AV片| 久久久久无码精品国产91福利| 永久免费AV无码| 色色视频免费看| 亚洲天堂在线免费观看| 亚洲国产免费| 日韩爆乳一区二区三区| 欧美va亚洲va| 欧美激情内射| 中文字幕专区| 亚洲一区在线免费观看| 美女中文字幕| 亚洲人妻视频| 九九热免费视频| 国产美女一级真毛片酒店| 国产精品国产三级国产AⅤ| 国精产品秘一区二区| 欧美性爱中文字幕| 草草久久久无码国产专区的优势| 欧美日韩一区二区三区四区| 中文字幕天天在线| 99精品六月婷婷综合在线| 一区二区毛片| 91人妻人人澡人人爽人人精品乱| 在线三级片视频| 黄色高清视频在线观看| 欧美午夜乱伦电影| 免费高清无码视频| 456亚洲影院| 成人V| 国产精品一区二区在线播放| 无码小黄片| 亚洲成人影片| 日韩精品123| 亚洲欧美国产毛片在线| 91逼站| 18禁在线看| 日韩人妻午夜| www黄片| 中文字幕在线亚洲| 丁香五月婷婷在线| 欧美三P囗交做爰| av黄页| 四虎成人电影| 日一区二区| 亚洲av色图| 视色视频在线观看| 五月天婷婷色| 日本不卡中文字幕| 超小超嫩国产合集六部| 五月天三级片| 丰臀肥逼高清视频电影播放| 亚洲毛片网| 超级碰碰| 大香蕉免费在线观看| 中字AV| 九九综合精品| 亚洲高清视频一区| 无码高清| 中文字幕二区| 夜夜草视频| 天天干人妻| 国产伦子伦一级A片在线| 伊人伊人网| 91ThePorn国产| 插吧插吧综合网| 胖老板办公室沙发无套爆秘书| 黄片伊人| 日韩一级无码视频| 成人在线黄色| 无码123区| 亚洲日韩欧美一厂二区入| 一道本无码在线视频| 国产搡BBB爽爽爽视频| 胖老板办公室沙发无套爆秘书 | 四虎成人视频| 被黑人猛躁10次高潮视频| 日韩在线视频一区二区三区 | 国产精品人人| 操逼爆奶网站| 日韩日日操| 约操少妇| 毛片网页| 超碰人妻在线| 国产精品性爱| 国产亚洲精品久久久久动| 欧美日韩东京热| 日韩操逼电影| 色播一区| 日日干AV| 无码五月天| 婷婷热| 午夜成人免费福利| 久久久无码人妻精品无码| 操骚B| 欧美国产日韩综合在线观看170| 国产一级黄色| 一级电影网| 99久久婷婷国产综合精品电影 | 91精品婷婷国产综合久久| 天天拍夜夜拍| av在线中文| 亚洲精品一区二区三区四区五区六区| 色播国产成人AV| 欧美成人A片AAA片在线播放| 日韩精品人妻| 成人中文字幕无码| 自拍视频在线| 中文字幕无码毛片| 午夜午夜福利理论片在线播放| 三级片韩国AV| 日韩本色一区| 91在线观看18| 午夜黄色视频| 午夜无码视频| 日韩一区二区视频| 91嫖妓站街按摩店老熟女| 日韩人妻无码一区二区| 国产黄在线观看| 特级西西WWW444人体聚色| 中文字幕免费看| av无码电影| 91资源在线观看| 99黄色| 四季AV一区二区夜夜嗨| 在线天堂av| 午夜成人视频在线观看| 亚洲一区二区在线视频| 日韩熟妇无码中文字慕| 黄色视频在线观看免费网站| 91国内偷拍| 波多无码在线| 在线小黄片| 91热久久| 亚洲成色A片77777在线小说| 国产做受91一片二片老头| 欧美日韩免费视频| 成人免费视频一区二区| 国产欧美日韩一区二区三区| 久久久久久婷婷| 怡春院AV| 亚州天堂| 俺也去在线| 日韩AV免费电影| 2025天天操| 日韩av毛片| 国产淫语| 亚洲人体视频| 97超碰人人操| 91精品久久香蕉国产线看观看| 国产成人毛片| 中文字字幕在线中文乱码| 日韩人妻一区二区| 中文字幕AV在线播放| 操骚逼视频| 久色视频福利| 久久亚洲日韩天天做日日做综合亚洲 | 日韩五月婷婷| 强开小嫩苞毛片一二三区| 免费高清无码在线| 亚洲成人视频在线播放| 操逼手机视频| 国产乱叫456在线| 97人人操人人| 午夜福利站| 蜜桃传媒视频| 国产熟女露脸普通话对白| 豆花AV在线| 在线观看免费成人网站| 91精品国产综合久久久蜜臀主演 | 亚洲无码123| 亚洲中文字幕免费视频| 久久成人综合| 香蕉久久a毛片| 91香蕉视频在线播放| 操逼操逼操逼| 欧美天天干| 日韩精品在线免费视频| 91久久影院| 成人A视频| 欧美性受XXXX黑人XYX性爽一| 中文字幕成| 91九色蝌蚪91POR成人| 婷婷高清无码| 日韩中文字幕免费在线观看| 欧美在线成人视频| A视频在线免费观看| 特黄aaaaaaaa真人毛片| 国产又爽又黄免费网站校园里| 日本不卡三区| 日韩一级片| 一区二区Av| 人与鲁牲交| 亚洲婷婷在线观看| 一区二区A片| 亚洲免费观看高清完整版在va线观看 | 精品av在线观看| 午夜精品人妻无码| 欧美一级精品| 国产又色又爽又黄又免费| 专区无日本视频高清8| 欧美a在线| 99久久免费网| 波多野结衣高潮| 国产一区二区三区四区五区六区七区| 色播欧美| 中国熟女HD| 欧美成人黄色A片| 成人三级片在线| 成人福利在线| 丁月婷婷五香天日五月天| 亚洲色色视频| 人人色网站| 亚州无码精品| 影音先锋麻豆| 超碰人人插| 欧美成人猛片AAAAAAA| 黄色在线免费看| 亚洲AV第一页| 综合久久久久| 97人人爽人人爽人人爽人人爽| 日本成人黄色电影| 亚洲无码大全| 人人干人人艹| 51黄片| 西西4444www无码精品| 在线观看黄色小电影| 女生自慰网站免费| 777777国产7777777 | 国产高清一区| 精品无码一区二区三区四区久久久软件 | 97爱| 免费AV网站观看| 亚洲图片在线| av在线天堂网| 一级中国毛片| 人人妻人人爽人人澡人人精品| 国产精品久久久久毛片SUV| 91欧美黑人| 色五月视频在线| 中文字幕在线永久| 日韩乱伦中文字幕| 一区二区三区黄色| 欧美日韩成人电影| 男人av网站| 小小拗女BBw搡BBBB搡| 男女av免费观看| 国产熟女| 成人午夜无码福利视频| 黄片免费大全| 国产久视频| 97免费视频在线观看| 超碰人人操人人摸| 国产精品香蕉| 女人的天堂AV| 性爱精品视频| 九九re精品视频在线观看| 免费国产黄色视频| 日本伊人大香蕉| 国产无码毛片| 久久丁香五月天| www.jiujiujiu| 亚洲无码图片| 四虎欧美| 中文字幕av久久波多野结| 久久久久久一| 综合合一品道| 无码V| 巜人妻初尝按摩师BD中字| 国外成人视频| 91久久偷拍视频| 亚洲精品国产成人AV在线| 成人精品无码免费视频| 中文字字幕在线中文乱码| 欧美屄视频| 欧美第一视频| 久久久青草| 9i看片成人免费视频| 99性爱视频| 91香蕉视频在线看| 夜夜撸日日| av在线资源网| 日本草逼视频| 日韩一区二区AV| 色在线视频| 国产精品一级a毛一级a| 日韩无码一二三| 久操伊人大香蕉| 日韩中文无码电影| 国产乱伦内射| 亚洲性爱中文字幕| 欧美色视频网| 日本中文不卡| 久久做爱视频| 成人A片一级| 黄色A网站| 成人免费视频在线| 91亚洲高清| 国产群交| 日韩黄色视频在线观看| 吹潮喷水高潮HD| 高清无码在线观看免费| 在线一区二区三区| 国产A片一区| 成人日皮视频| 亚洲成人精品在线观看| 欧美精品午夜福利无码| 地表最强网红八月未央道具大秀| 欧一美一色一伦一A片| 69av在线播放| 亚洲无码人妻一区| 特一级黄片| 激情综合五月| 小日本91在线观看| 亚洲AV一级| 在线亚洲小视频| 特一级黄色片| 国产黄色a片| 精品女人| 人成在线免费视频| 免费无码视频一区二区| 神马午夜三级| 97精品国产97久久久久久免费| 北条麻妃在线无码| 日韩AV免费在线播放| 777777国产7777777| 国产56页| 久久系列观看完整指南| 免费在线观看黄片视频| 91在线看片| 亚洲人气无码AV| 五月丁香六月色| 热热AV| 一本无码高清| 欧美亚洲国产一区二区三区 | 黄色视频网站免费| 老太色HD色老太HD| 日产久久视频| 欧美成人精品一级| 欧美射精视频| 搡BBBB搡BBB搡五十| av天天av无码av天天爽| 亚洲精选一区二区三区| 亚洲AV中文| 亚洲AV无码精品岛国| 国产精品无码免费视频| 99久久精品国产一区色| 亚洲av无码精品| 亚洲精品一二| 影音av| 天天操大香蕉| 无码AV免费观看| 日本无码嫩草一区二区| 国产wwwww| 白嫩外女BBwBBwBBw| 欧美激情视频一区二区三区不卡| 日韩在线综合网| 91麻豆精品国产91久久久吃药 | 免费的黄色A片| 欧一美一婬一伦一区二区三区黑人-亚 | 成人做爰黄级A片免费看土方| 国产麻豆性爱视频| 日本无码一区二区| 成人性爱视频在线| 日本国产精品| 操逼麻豆| 国产在线一|