日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

React单页如何规划路由、设计Store、划分模块、按需加载

發布時間:2024/4/14 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 React单页如何规划路由、设计Store、划分模块、按需加载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 本項目地址:react-coat-helloworld
  • react-coat 同時支持瀏覽器渲染(SPA)和服務器渲染(SSR),本 Demo 僅演示瀏覽器渲染,請先了解一下:react-coat

第一站:Helloworld

安裝

git clone https://github.com/wooline/react-coat-helloworld.git npm install

運行

  • npm start 以開發模式運行
  • npm run build 以產品模式編譯生成文件
  • npm run prod-express-demo 以產品模式編譯生成文件并啟用一個 express 做 demo
  • npm run gen-icon 自動生成 iconfont 文件及 ts 類型

查看在線 Demo

  • 點擊查看在線 Demo

關于腳手架

  • 采用 webpack 4.0 為核心搭建,無二次封裝,干凈透明
  • 采用 typescript 作開發語言,使用 Postcss 及 less 構建 css
  • 不使用 css module,用模塊化命名空間保證 css 不沖突
  • 采用 editorconfig > prettier 作統一的風格配置,建議使用 vscode 作為 IDE,并安裝 prettier 插件以自動格式化
  • 采用 tslint、eslint、stylelint 作代碼檢查

PeerDependencies

開發環境需要很多的 dependencies,你可以自行安裝特定版本,如果特殊要求,建議本站提供的 react-coat-pkg 以及 react-coat-dev-pkg,它們已經包含了絕大部分 dependencies。

TS 類型的定義

使用 Typescript 意味著使用強類型,我們把業務實體中 TS 類型定義分兩大類:API類型和Entity類型。

  • API 類型:指的是來自于后臺 API 輸入的類型,它們可能直接由 swagger 生成,或是機器生成。
  • Entity 類型:指的是本系統為業務實體建模而定義的類型,每個業務實體(resource)都會有定義。

理想狀況下,API 類型和 Entity 類型會保持一致,因為業務邏輯是同一套,但實際開發中,可能因為前后端并行開發、或者前后端視角不同而出現兩者各表。

為了充分的解耦,我們允許這種不一致,我們把 API 類型在源頭就轉化為 Entity 類型,而在本系統的代碼邏輯中,不直接使用 API 類型,應當使用自已定義的 Entity 類型,以減少其它系統對本系統的影響。

假定項目:旅途 web app

主要頁面:

  • 旅游路線展示
  • 旅途小視頻展示
  • 站內信展示(需登錄)
  • 評論展示 (訪客可查看評論,發表則需登錄)

項目要求

  • web SPA 單頁應用
  • 主要用于 mobile 瀏覽器,也可以適應于桌面瀏覽器
  • 無 SEO 要求,但需要能將當前頁面分享給他人
  • 初次進入本站時,顯示 welcome 廣告,并倒計時

路由規劃

SPA 單頁不就一個頁面么?為什么還需要規劃路由呢?

  • 其一,為了用戶刷新時盡可能的保持當前展示
  • 其二,為了用戶能將當前展示通過 url 分享給他人
  • 其三,為了后續的 SEO

path 規劃

根據項目需求及 UI 圖,我們初步規劃主要路由 path 如下:

  • 旅行路線列表 photosList:/photos
  • 旅行路線詳情 photosItem:/photos/:photoId
  • 分享小視頻列表 videosList:/videos
  • 分享小視頻詳情 videosItem:/videos/:videoId
  • 站內信列表 messagesList:/messages

參數規劃

因為列表頁是有分頁、有搜索的,所以列表類型的路由是有參數的,比如:

/photos?title=張家界&page=3&pageSize=20

我們估且將這部分查詢列表條件叫"ListSearch",但除了ListSearch之外,也可能會出現別的路由參數,用來控制其它條件(本 demo 暫未涉及),比如:

/photos?title=張家界&page=3&pageSize=20&showComment=true

所以,如果參數一多,用扁平的一維結構就變得不好表達。而且,利用 URL 參數存數據,數據將全變成為字符串。比如id=2,你無法知道 2 是數字型還是字符型,這樣會讓后續接收處理變得繁重。所以,我們使用 JSON 來序列化第二級參數,比如:

/photos?search={title:"張家界",page:3,pageSize:20}&showComment=true

這樣做也有個不好的地方,就是需要 encodeURI,然后特殊字符會變得比較丑。

路由參數默認值

為了縮短 URL 長度,本框架設計了參數默認值,如果某參數和默認值相同,可以省去。我們需要做兩項工作:

  • 生成 Url 查詢條件時,對比默認值,如果相同,則省去
原值:{title:"張家界",page:1,pageSize:20} 默認值: {title:"",page:1,pageSize:20},省去后為:{title:"張家界"}

原值:{title:"",page:1,pageSize:20} 默認值: {title:"",page:1,pageSize:20},省去后為:空

  • 收到 Url 查詢條件時,將查詢條件和默認值 merge
/photos?search={page:2} === photos?search={title:"",page:2,pageSize:20}

/photos === photos?search={title:"",page:1,pageSize:20}

  • 處理 null、undefined

由于接收 Url 參數時,如果某 key 為 undefined,我們會用相應的默值將其填充,所以不能將 undefined 作為路由參數值定義,改為使用 null。也就是說,路由參數中的每一項,都是必填的,比如:

// 路由參數定義時,每一項都必填,以下為錯誤示例 interface ListSearch{title?:string,age?:number } // 改為如下正確定義: interface ListSearch{title:string | null,age:number | null }
  • 區分:原始路由參數(SearchData) 默認路由參數(SearchData) 和 完整路由參數(WholeSearchData)。完整路由參數(WholeSearchData) = merage(默認路由參數(SearchData), 原始路由參數(SearchData))

    • 原始路由參數(SearchData)每一項都是可選的,用 TS 類型表示為:Partial<WholeSearchData>
    • 完整路由參數(WholeSearchData)每一項都是必填的,用 TS 類型表示為:Required<SearchData>
    • 默認路由參數(SearchData)和完整路由參數(WholeSearchData)類型一致

不直接使用路由狀態

路由及其參數本質上也是一種 Store,與 Redux Store 一樣,反映當前程序的某些狀態。但它是片面的,是瞬時的,是不穩定的,我們把它看作是 Redux Store 的一種冗余。所以最好不要在程序中直接依賴和使用它,而是控制住它的入口和出口,第一時間在其源頭進行消化轉換,讓其成為整個 Redux Store 的一部分,后續的運行中,我們直接依賴 Redux Store。這樣,我們就將程序與路由設計解耦了,程序有更大的靈活度甚至可以遷移到無 URL 概念的其它運行環境中。

模塊規劃

模塊與 Page 無關

劃分模塊可以很好的拆解功能,化繁為簡,并且對內隱藏細節,對外暴露少量接口。劃分模塊的標準是高內聚,低耦合,而不是以 Page 或是 View,一個模塊包含某些完整的業務功能,這些功能可能涉及到多個 Page 或多個 View。

所以回過頭,看我們的項目需求和 UI 圖,大體上可以分為三個模塊:

  • photos //旅游線路展示
  • videos //分享視頻展示
  • messages //站內消息展示

這三個模塊顯而易見,但是我們注意到:“圖片詳情”和“視頻詳情”都包含“評論展示”,而“評論展示”本身又具有分頁、排序、詳情展示、創建回復等功能,它具有自已獨立的邏輯,只不過在 view 上被 photoDetail 和 videoDetail 嵌套了,所以將“評論展示”獨立劃分成一個模塊是合適的。

另個,整個程序應當有個啟動模塊,它是“上帝視角模塊”,它可以做一些公共事業,必要的時候也可以用來做多個模塊之間的協調和調度,我們叫把它叫做 applicatioin 模塊。

所以最終,本 Demo 被劃分為 5 個模塊:

  • app // 啟動模塊
  • photos //旅游線路展示
  • videos //分享視頻展示
  • messages //站內消息展示
  • comments //評論展示

為模塊劃分 View

每個模塊可能包含一組 View,View 反映某些特定的業務邏輯。View 就是 React 中的 Component,那反過來 Component 就是 View 么?非也,它們之間還是有些區別的:

  • view 展現的是 Store 數據,更偏重于表現特定的具體的業務邏輯,所以它的 props 一般是直接用 mapStateToProps connect 到 store。
  • component 體現的是一個沒有業務邏輯上下文的純組件,它的 props 一般來源于父級傳遞。
  • component 通常是公共的,而 view 通常非公用

回過頭,看我們的項目需求和 UI 圖,大體上劃分以下 view:

  • app views:Main、TopNav、BottomNav、LoginPop、Welcome、Loading
  • photos views:Main、List、Details
  • videos views:Main、List、Details
  • messages views:Main、List
  • comments views:Main、List、Details、Editor

目錄結構

經過上面的分析,我們有了項目大至的骨架,由于模塊比較少,所以我們就不再用二級目錄分類了:

src ├── asset // 存放公共靜態資源 │ ├── css │ ├── imgs │ └── font ├── entity // 存放業務實體TS類型定義 ├── common // 存放公共代碼 ├── components // 存放React公共組件 ├── modules │ ├── app │ │ ├── views │ │ │ ├── TopNav │ │ │ ├── BottomNav │ │ │ ├── ... │ │ │ └── index.ts //導出給其它模塊使用的view │ │ ├── model.ts //定義ModuleState和ModuleActions │ │ ├── api //將本模塊需要的后臺api封裝一下 │ │ ├── facade.ts //導出本模塊對外的邏輯接口(類型、Actions、路由默認參數) │ │ └── index.ts //導出本模塊實體(view和model) │ ├── photos │ │ ├── views │ │ ├── model.ts │ │ ├── api │ │ ├── facade.ts │ │ └── index.ts │ ├── videos │ ├── messages │ ├── comments │ ├── names.ts //定義模塊名,使用枚舉類型來保證不重復 │ └── index.ts //導出模塊的全局設置,如RootState類型、模塊載入方式等 └──index.tsx 啟動入口

facade.ts

其它目錄都好理解,注意到每個 module 目錄中,有一個 facade.ts 的文件,冒似它與 index.ts 一樣都是導出本模塊,那為什么不合并成一個呢?

  • index.ts 導出的是整個模塊的物理代碼,因為模塊是較為獨立的,所以我們一般希望將整個模塊的代碼打包成一個獨立的 chunk 文件。
  • facade.ts 僅導出本模塊的一些類型和邏輯接口,我們知道 TS 類型在編譯之后是會被徹底抹去的,而接口僅僅是一個空的句柄。假如在 ModuleA 中需要 dispatch ModuleB 的 action,我們僅需要 import ModuleB 的 facade.ts,它只是一個空的句柄而以,并不會引起兩個模塊代碼的物理依賴。

配置模塊

問:在 react-coat 中怎么配置一個模塊?包括打包、加載、注冊、管理其生命周期等?

答:./src/modules 根目錄下的 index.ts 文件為模塊總的配置文件,增加一個模塊,只需要在此配置一下

// ./src/modules/index.ts// 一個驗證器,利用TS類型來確保增加一個module時,相關的配置都同時增加了 type ModulesDefined<T extends {[key in ModuleNames]: any}> = T;// 定義模塊的加載方案,同步或者異步均可 export const moduleGetter = {[ModuleNames.app]: () => {return import(/* webpackChunkName: "app" */ "modules/app");},[ModuleNames.photos]: () => {return import(/* webpackChunkName: "photos" */ "modules/photos");},[ModuleNames.videos]: () => {return import(/* webpackChunkName: "videos" */ "modules/videos");},[ModuleNames.messages]: () => {return import(/* webpackChunkName: "messages" */ "modules/messages");},[ModuleNames.comments]: () => {return import(/* webpackChunkName: "comments" */ "modules/comments");}, };export type ModuleGetter = ModulesDefined<typeof moduleGetter>; // 驗證一下是否有模塊忘了配置// 定義整站Module States interface States {[ModuleNames.app]: AppState;[ModuleNames.photos]: PhotosState;[ModuleNames.videos]: VideosState;[ModuleNames.messages]: MessagesState;[ModuleNames.comments]: CommentsState; }// 定義整站的Root State export type RootState = BaseState & ModulesDefined<States>; // 驗證一下是否有模塊忘了配置

路由和加載

本 Demo 直接使用 react-router V4,路由即組件,所以并不需要什么特別的路由配置,直接在./app/views/Main.tsx 中:

const PhotosView = loadView(moduleGetter, ModuleNames.photos, "Main"); const VideosView = loadView(moduleGetter, ModuleNames.videos, "Main"); const MessagesView = loadView(moduleGetter, ModuleNames.messages, "Main");<Switch><Redirect exact={true} path="/" to="/photos" /><Route exact={false} path="/photos" component={PhotosView} /><Route exact={false} path="/videos" component={VideosView} /><Route exact={false} path="/messages" component={MessagesView} /><Route component={NotFound} /> </Switch>

使用 loadView()表示異步按需加載一個 View,如果你不想按需加載,完全可以直接 import:

import {Main as PhotosView} from "modules/photos/views"

載入 View 時自動載入其相關的模塊并初始化 Model。沒有 Model,view 是沒有“靈魂”的,所以在載入 View 時,框架會自動載入其 Model 并完成初始化,這個過程包含 3 步:

  • 1.載入模塊對應的 JS Chunk 包
  • 2.初始化模塊 Model,派發 module/INIT Action
  • 3.模塊可以監聽自已的 module/INIT Action,作出初始化行為,如獲取遠程數據等

Redux Store 結構

module 的劃分不僅體現在工程目錄上,而體現在 Redux Store 中:

router: { // 由 connected-react-router 生成location: {pathname: '/photos',search: '',hash: '#refresh=true',key: 'gb9ick'},action: 'PUSH'},app: {...}, // app ModuleStatephotos: { // photos ModuleStateisModule: true, // 框架自動生成,標明該節點為一個ModuleStatelistSearch: { // 列表搜索條件title: '',page: 1,pageSize: 10},listItems: [ // 列表數據{id: '1',title: '新加坡+吉隆坡+馬六甲6或7日跟團游',departure: '無錫',type: '跟團游',price: 2499,hot: 265,coverUrl: '/imgs/1.jpg'},...],listSummary: {page: 1,pageSize: 5,totalItems: 10,totalPages: 2}},messages: {...}, // messages ModuleStatecomments: {...}, // comments ModuleState }

具體實現

見 Demo 源碼,有注釋

美中不足

路由規劃的不足

到目前為止,本 Demo 完成了項目要求中的內容,接下來,業務看了之后提出了幾個問題:

  • 無法分享指定的“評論”,評論是很重要的吸引眼球的內容,我們希望分享鏈接時,可以指定評論。

目前可以分享的路由只有 5 種:

- /photos - /photos/1 - /videos - /videos/1 - /messages

看樣子,我們得增加:

/photos/1/comments/3 //展示id為3的評論
  • 評論內容對以后的 SEO 很重要,我們希望路由能控制評論列表翻頁和排序:
/photos/1?comments-search={page:2,sort:"createDate"}
  • 目前我們的項目主要用于移動瀏覽器訪問,很多 android 用戶習慣用手機下面的返回鍵,來撤消操作,如關閉彈窗等,能否模擬一下原生 APP?

思考:android 用戶點擊手機下面的返回鍵會引起瀏覽器的后退,后退關閉彈窗,那就需要在彈出彈窗時增加一條 URL 記錄
結論:Url 路由不只用來記錄展示哪個 Page、哪個 View,還得標識一些交互操作,完全顛覆了傳統的路由觀念了。

路由效驗的不足

看樣子,路由會越來越復雜,到目前為止,我們還沒有在 TS 中很好的管理路由參數,拼接 URL 時沒有做 TS 類型的校驗。對于 pathname 我們都是直接用字符串寫死在程序中,比如: if(pathname === "/photos"){.... }const arr = pathname.match(/^\/photos\/(\d+)$/);

這樣直接 hardcode 似利不是很好,如果后其產品想換一下名稱怎么搞。

Model 中重復寫同樣的代碼

注意到,photos/model.ts、videos/model.ts 中,90%的代碼是一樣的,為什么?因為它們兩個模塊基本上功能都是差不多的:列表展示、搜索、獲取詳情...

其實不只是 photos 和 videos,套用 RestFul 的理念,我們用網頁交互的過程就是在對“資源 Resource”進行維護,無外乎“增刪改查”這些基本操作,大部分情況下,它們的邏輯是相似的。由其是在后臺系統中,基本上連 UI 界面也可以標準化,如果將這部分“增刪改查”的邏輯提取出來,模塊可以省去不少重復的代碼。

下一個 Demo

既然有這么多美中不足,那我們就期待在下一個 Demo 中一步步解決它吧

進階:SPA(單頁應用)

總結

以上是生活随笔為你收集整理的React单页如何规划路由、设计Store、划分模块、按需加载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产成人精品不卡 | 日本三级中文字幕在线观看 | 国产在线不卡 | 日韩欧美在线视频一区二区 | 久久综合中文色婷婷 | 九九热视频在线免费观看 | 夜夜操网 | 天干啦夜天干天干在线线 | 久久精品精品电影网 | 成人av电影在线观看 | 久久91网 | 久久99在线观看 | 午夜91视频 | 最新日韩在线观看视频 | 日韩一区正在播放 | 婷婷色六月天 | 日韩理论影院 | 中文字幕在线视频精品 | 99精品视频免费看 | 久久免费看av | 国产国语在线 | av高清不卡| 日日夜夜人人天天 | 黄色成人毛片 | 久久国产高清 | 日本精品中文字幕在线观看 | 夜夜躁狠狠躁 | 丁香婷婷色月天 | 成人免费观看a | 久久久午夜精品福利内容 | 亚洲国产资源 | 99热国产在线中文 | 国产91国语对白在线 | 在线免费亚洲 | 在线看国产 | 91精品国产乱码在线观看 | 成人三级黄色 | 久久久精品久久日韩一区综合 | 激情欧美一区二区三区 | 天天操天天操天天操天天操天天操天天操 | www.亚洲黄色| 日日夜夜精品视频 | 九九影视理伦片 | 麻花豆传媒mv在线观看 | 精品九九九九 | 99久久精品国产一区 | 久久久久99精品成人片三人毛片 | 粉嫩av一区二区三区四区在线观看 | 亚洲欧美日韩精品久久奇米一区 | 岛国av在线免费 | 日本超碰在线 | 久久视频国产精品免费视频在线 | 日本特黄特色aaa大片免费 | 毛片3| 国产亚洲高清视频 | 亚洲精品久久久久58 | 国产大片免费久久 | 国产资源精品在线观看 | 国产一级视频免费看 | 日韩av一区二区三区四区 | 日本不卡一区二区三区在线观看 | 亚洲精品美女久久17c | 激情久久五月 | 中文字幕免费高清在线观看 | 国产黄a三级三级三级三级三级 | 91中文字幕一区 | 久久国内视频 | 国产亚洲精品久久19p | 日韩高清不卡一区二区三区 | 免费国产在线精品 | 开心丁香婷婷深爱五月 | 久草精品国产 | 黄网站污| 美女福利视频一区二区 | 中文字幕欲求不满 | 天天操天天干天天玩 | 成人av电影免费 | 天天se天天cao天天干 | 久久久国产精品网站 | 欧美亚洲国产精品久久高清浪潮 | 久久天天躁夜夜躁狠狠躁2022 | 天堂入口网站 | 日韩性色| 中文字幕免费高清在线观看 | 狠狠做深爱婷婷综合一区 | 青青河边草免费直播 | 成人av一区二区三区 | 亚洲专区欧美专区 | 亚洲国产播放 | 国产精品99久久免费观看 | 狠狠的干 | 国产色啪 | 国产欧美综合在线观看 | 成人a免费视频 | 91麻豆精品国产91久久久久 | 美州a亚洲一视本频v色道 | 99精品在线视频播放 | 在线视频电影 | 国内丰满少妇猛烈精品播 | 国产精品久久久久久模特 | 日韩中文字幕在线不卡 | 日韩亚洲精品电影 | 亚洲欧美综合精品久久成人 | 久久精品影片 | 久久影院精品 | 久久黄页| 成人免费在线视频观看 | 涩五月婷婷 | 在线看片中文字幕 | 国产精品自产拍在线观看中文 | 国产精品美女免费看 | 中文字幕成人一区 | 久久久久国 | 久久国内精品99久久6app | 日韩欧美在线高清 | 免费亚洲视频在线观看 | 日韩在线首页 | 色婷婷久久一区二区 | 欧美激情精品久久久久久免费印度 | 久久精品亚洲综合专区 | 免费观看国产视频 | 91精品专区| 欧美aa一级 | 国产成人综合在线观看 | 欧美中文字幕久久 | 五月婷婷伊人网 | 在线欧美日韩 | 中文字幕色播 | 欧美精品久久久久性色 | 欧美日韩午夜在线 | 亚洲永久精品在线 | 欧美一区二区在线免费观看 | 免费三级a | 1000部国产精品成人观看 | 久久精品视频日本 | 久久久久久免费网 | 在线观看岛国 | 亚洲精欧美一区二区精品 | 中文字幕在线观看一区二区 | 麻豆va一区二区三区久久浪 | 免费在线观看亚洲视频 | 成人黄色在线电影 | 欧美日韩久久久 | 欧美日韩二区三区 | 91久久国产综合精品女同国语 | 国产99在线免费 | 不卡中文字幕av | 国产精品久久电影网 | 亚洲精品成人av在线 | 97av在线| 精品少妇一区二区三区在线 | 国产一区二区中文字幕 | 深夜免费福利网站 | 亚洲美女免费精品视频在线观看 | 国产精品久久久久av免费 | 欧美一区二视频在线免费观看 | 欧美性色黄| 国产成人精品亚洲日本在线观看 | 国产精品免费看 | 国产韩国精品一区二区三区 | 国产精品视频内 | 日本成人黄色片 | 国产黄色精品 | 中文字幕av电影下载 | 国产一区网址 | 91黄色在线观看 | 国产亚洲精品女人久久久久久 | 免费十分钟 | 国产v欧美 | 国产 字幕 制服 中文 在线 | 午夜精品麻豆 | 在线观看黄色 | 国产色就色 | a精品视频 | 日韩一级电影在线观看 | 99热这里只有精品国产首页 | 在线免费日韩 | 亚洲综合小说 | 精品国产免费看 | 亚洲电影久久久 | 亚洲精品视频在 | 一区二区三区在线观看免费视频 | 国产无套精品久久久久久 | 免费a v观看| 在线观看亚洲电影 | 午夜一级免费电影 | 色婷婷免费视频 | 中文字幕高清视频 | 色婷婷www | 五月天激情电影 | 国内精品美女在线观看 | 久久影院精品 | 欧美视频一区二 | 天天做日日做天天爽视频免费 | 97av视频 | 欧美日韩在线看 | 中文字幕色在线 | 欧美一二区在线 | 国产一级精品绿帽视频 | 久久久久久久久久久久久9999 | 日韩在线观看网站 | 在线免费观看黄色小说 | 久久久久久高潮国产精品视 | 亚洲电影久久 | 天天射综合 | 欧美精品久久久久久久久久丰满 | 97人人模人人爽人人喊中文字 | 国产999精品久久久久久 | 国产精品永久免费视频 | av免费在线免费观看 | 久久综合色天天久久综合图片 | 日本aa在线| 在线免费性生活片 | 日韩精品 在线视频 | 久久久久久久免费看 | 国产精品丝袜在线 | 香蕉蜜桃视频 | 成人动漫一区二区三区 | 久久视了 | 国产精品一区二区三区99 | 国产偷在线| 国精产品永久999 | 色视频国产直接看 | 国产精品理论视频 | www操操 | 黄色在线视频网址 | 国产综合久久 | 夜又临在线观看 | 国产视频精品网 | 中文字幕国内精品 | 欧美日韩视频 | www.狠狠操.com| 亚洲午夜精 | 欧美日韩视频 | 久久久精品小视频 | 亚洲欧美视频在线播放 | 欧美精品成人在线 | 日韩免费成人av | 婷婷六月久久 | 国产精品美女久久久 | 久久情网| 久久精品老司机 | 99久久久国产精品免费观看 | 国产精品粉嫩 | 国产成人三级三级三级97 | 中文亚洲欧美日韩 | 波多野结衣日韩 | 国产视频精品网 | 毛片视频网址 | 欧美在线视频不卡 | 在线激情av电影 | 国产精品区二区三区日本 | 在线免费日韩 | 成人黄色电影免费观看 | 亚洲精品a区 | 九九99视频| 欧美成人69av | 国产一级免费在线观看 | 国产免费亚洲 | 亚洲欧洲精品在线 | 久草视频在线资源 | 欧美淫aaa免费观看 日韩激情免费视频 | 国产一区二区在线看 | 91视频午夜 | 国产丝袜美腿在线 | 六月丁香婷婷网 | a视频在线 | 精品视频999| 国产成人久久精品 | 99在线视频精品 | 欧美大码xxxx | 人人干在线 | 午夜 在线 | 在线观看av小说 | 四虎影视精品成人 | 日色在线视频 | 五月婷色 | 中文字幕丰满人伦在线 | 黄色福利网站 | 欧美一区三区四区 | 色a资源在线| 狠狠色丁香婷婷综合久小说久 | 韩国在线一区二区 | 婷婷激情在线 | 九九国产视频 | 久久精品波多野结衣 | 日韩高清一二三区 | 五月天亚洲婷婷 | 狠狠干夜夜 | 97小视频 | 欧美日韩高清免费 | 91精品国自产拍天天拍 | 狠狠色丁香婷婷综合欧美 | 欧美日韩不卡一区二区三区 | 97超碰中文字幕 | 国产日产亚洲精华av | 久热色超碰 | 天无日天天操天天干 | 国产精品99久久久久的智能播放 | 国产在线p | 亚洲欧美日韩国产一区二区三区 | 视频 天天草 | 2018好看的中文在线观看 | 麻豆免费观看视频 | 成人av网站在线 | 国产高清av | 免费黄a| 亚洲91精品在线观看 | 最新极品jizzhd欧美 | 在线色亚洲 | 天天插天天射 | 日韩av免费在线看 | 日韩欧美精品在线观看视频 | 天天色综合久久 | 黄色中文字幕 | 911免费视频 | 99精品久久久久久久久久综合 | 亚洲另类xxxx | 亚欧日韩av| 午夜视频99| av在线免费观看网站 | 最新av网址在线 | 蜜臀久久99精品久久久无需会员 | 久久久精品国产一区二区 | 天天操天天干天天操天天干 | 亚洲va综合va国产va中文 | 国产亚洲婷婷免费 | 久久久免费在线观看 | 国产精品久久三 | 99热在线看| 中文字幕精品一区二区三区电影 | 久精品在线| 夜夜躁狠狠躁日日躁视频黑人 | 国产午夜小视频 | 最新av免费在线 | av天天在线观看 | av在线免费观看网站 | 欧美一区二区三区在线观看 | 一区二区视频电影在线观看 | 日韩电影一区二区在线 | 久久少妇免费视频 | 激情网站网址 | 日韩av在线资源 | 九色91福利 | 一区二区三区免费看 | 国产日韩一区在线 | 亚洲国产成人久久 | 久久久久美女 | 国产精品久久久久永久免费 | 天天干天天玩天天操 | 日本免费久久高清视频 | 亚洲欧美偷拍另类 | 亚洲成人二区 | 色国产视频| 久久免费观看视频 | 91精品国产九九九久久久亚洲 | 国产精品免费久久久久影院仙踪林 | 精品一区二区三区在线播放 | 97在线免费 | av解说在线观看 | 日韩免费在线看 | 麻豆一级视频 | 日韩一级片大全 | 久久国产高清视频 | 国产污视频在线观看 | 98涩涩国产露脸精品国产网 | 五月花丁香婷婷 | 日韩在线看片 | 国产一区精品在线观看 | 国产色视频网站 | 美女黄色网在线播放 | 麻豆91精品 | 一区 二区电影免费在线观看 | 国产精品久久久久9999 | 日韩va亚洲va欧美va久久 | 国产日产精品一区二区三区四区的观看方式 | 九草视频在线 | 精品一区二区三区四区在线 | 91毛片在线观看 | 国产精品美女久久久久久久久 | 婷婷丁香激情综合 | 一区二区三区四区精品 | 精品国产人成亚洲区 | 丁香花在线视频观看免费 | 亚洲精品一区二区三区四区高清 | 精品亚洲视频在线 | 91亚洲欧美激情 | 久久激情久久 | 91精品国产91久久久久 | 欧美日韩精品影院 | 色五婷婷 | 亚洲国产成人高清精品 | 五月激情站 | 国产精品视频永久免费播放 | 五月婷婷在线观看 | 在线观看中文av | 96av在线| 18性欧美xxxⅹ性满足 | 日韩在线免费视频 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 天天操操操操操操 | 激情欧美丁香 | 久久综合五月天 | 草久久久| 国产在线精品国自产拍影院 | 91私密视频 | 久久99精品久久久久久秒播蜜臀 | 日韩在线观看视频在线 | 成人观看 | 最新国产精品视频 | 欧美精品久久久久久久久久久 | 日韩精品观看 | 国产一区在线免费观看视频 | 婷婷日| 黄污视频网站 | 激情在线网站 | 日韩aⅴ视频 | 亚洲精品美女在线 | 色窝资源 | 国产成人免费av电影 | www五月| 少妇性bbb搡bbb爽爽爽欧美 | 成人h在线观看 | 久久久久99精品国产片 | 国产成人精品综合久久久久99 | 久久免费视频8 | 国产精品久久久久久久久久久免费 | 国偷自产视频一区二区久 | 国内精品久久久久久久久久清纯 | 亚洲一区网 | 久久黄色精品视频 | 亚洲日本欧美 | 日本公妇在线观看 | 国产高清在线精品 | 国产精品黑丝在线观看 | 亚洲视频免费在线看 | 精品国内自产拍在线观看视频 | 人人爽人人射 | 草在线| 欧美一级日韩三级 | 日韩 精品 一区 国产 麻豆 | 欧美日韩不卡一区二区三区 | 欧美精品久久久久久久久久 | 日本精品视频一区二区 | 久久久国产网站 | 久久精品中文字幕一区二区三区 | 午夜在线观看影院 | 欧美伦理一区 | 一级精品视频在线观看宜春院 | 国产精品亚洲综合久久 | 中文av不卡| 91福利区一区二区三区 | 一区二区精品在线 | 一区二区精品国产 | 91精品国产高清自在线观看 | 超碰97国产精品人人cao | 亚洲欧美日本一区二区三区 | 久久这里只有精品23 | 9色在线视频| 日本天天色 | 99精品黄色片免费大全 | 在线国产片| 国产高清不卡av | 西西大胆啪啪 | 亚洲美女视频在线 | 日本久久影视 | 久久人人爽人人片av | 天天操天天操天天操天天操 | 成人在线免费视频观看 | av中文资源在线 | 欧美伦理一区 | 久久96国产精品久久99软件 | 99久久精品视频免费 | 91在线精品一区二区 | 激情深爱五月 | 精品xxx | 五月在线视频 | 国产精品999久久久 久产久精国产品 | 91av网址 | 日韩高清免费无专码区 | 免费观看一级特黄欧美大片 | 97视频免费在线 | 在线国产日韩 | 亚洲成av人影片在线观看 | 国产1区2区 | 国产色道| 国产盗摄精品一区二区 | 亚洲美女精品区人人人人 | 成人影片在线播放 | 国内精品久久天天躁人人爽 | 天天曰天天曰 | 中文字幕在线视频一区二区三区 | 精品一区二区综合 | 国产亚洲资源 | 午夜精品久久久久久久99水蜜桃 | 久久国产精品久久国产精品 | 97日日| 亚洲成av人电影 | 一区二区不卡视频在线观看 | 日韩av午夜在线观看 | 久久久久久久久电影 | 在线之家官网 | 欧美性免费 | 丁香视频免费观看 | 综合在线亚洲 | 超级碰99 | 91最新网址在线观看 | www五月天婷婷 | 日韩免费观看一区二区 | 粉嫩av一区二区三区四区在线观看 | 亚洲激情av | 久久久久国产精品免费网站 | 国产午夜精品一区二区三区四区 | 日日干天夜夜 | 在线观看日韩一区 | 日韩va亚洲va欧美va久久 | 亚洲精品视频 | 91专区在线观看 | 91人人干 | 精品成人国产 | 中文字幕在线观看免费高清电影 | 麻豆国产精品永久免费视频 | 2020天天干天天操 | 亚洲视频免费在线观看 | 在线成人小视频 | 又湿又紧又大又爽a视频国产 | 欧美福利久久 | 人人爽人人爽av | 久久亚洲区 | 国产精品亚洲综合久久 | 97在线观看免费视频 | 欧美日韩在线免费视频 | 中文字幕一区二区三区在线视频 | 精品一区二区在线免费观看 | 欧美专区日韩专区 | 久久久av免费 | 波多野结依在线观看 | 成年人免费看片 | 国产成人精品久久二区二区 | 日韩欧美一区二区三区黑寡妇 | 亚洲欧美日韩中文在线 | 亚洲精品久久久久久国 | 国内偷拍精品视频 | 欧美激情精品久久久久 | 免费黄色网址网站 | 深夜免费福利在线 | 国产精品12 | 96av在线| 91麻豆精品一区二区三区 | 亚洲免费a | 天天躁天天躁天天躁婷 | 亚洲国产精品久久久久 | 韩国精品在线观看 | 成年人av在线播放 | 在线观看精品 | 人人爱人人舔 | 国产精品久久中文字幕 | 夜夜嗨av色一区二区不卡 | 久久在线精品视频 | 美女视频a美女大全免费下载蜜臀 | 欧美日韩亚洲在线 | 亚洲jizzjizz日本少妇 | 中文字幕一二三区 | 欧美激情第十页 | 亚洲黄色免费观看 | 日韩欧美在线一区二区 | 不卡精品视频 | 久久精品牌麻豆国产大山 | 黄色网址国产 | 在线 高清 中文字幕 | 久草精品在线播放 | 99精品国产兔费观看久久99 | 在线日本看片免费人成视久网 | 久久久久麻豆 | 9在线观看免费高清完整版 玖玖爱免费视频 | 在线观看成人网 | aaa免费毛片 | 黄色在线观看污 | 国产夫妻性生活自拍 | 91人人在线 | 九九热久久免费视频 | 久久精品精品电影网 | 日韩视频在线播放 | 在线观看免费91 | 日韩av资源在线观看 | 天天干天天射天天爽 | 精品视频在线免费观看 | 在线看片成人 | 夜色资源站国产www在线视频 | 免费观看国产精品 | 国产精品一区二区三区电影 | 亚洲在线视频播放 | 日韩欧美视频二区 | 久久伦理视频 | 久久专区 | 狠狠操狠狠 | 久久69av | 天天激情| 在线日韩中文字幕 | 81精品国产乱码久久久久久 | 亚洲免费观看视频 | 亚洲国产影院 | 在线а√天堂中文官网 | 国产中文字幕免费 | 91精品久久久久久综合乱菊 | 亚洲热视频 | 久久午夜精品视频 | 欧美日韩在线免费观看 | 国产成人av电影 | 婷婷在线精品视频 | 亚洲三级黄色 | 欧美91精品久久久久国产性生爱 | 欧美日韩免费网站 | 免费看片色 | 午夜精品一区二区三区免费视频 | 国产一级二级三级在线观看 | 国产97在线视频 | 国产日产欧美在线观看 | 午夜精品电影一区二区在线 | 五月婷婷激情六月 | 日本久久电影网 | 91精品国自产在线 | 国产尤物在线 | 免费观看的黄色片 | 国产不卡av在线 | 精品久久久久久综合 | 日韩高清在线一区二区 | www国产亚洲精品久久麻豆 | 97超碰站 | 在线天堂日本 | 日韩在线视频精品 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 国产又粗又猛又黄 | 69热国产视频 | 久久五月网| 久久久91精品国产一区二区精品 | 成人av影视 | 有码视频在线观看 | 免费看片网址 | 久久激情网站 | 99久久999久久久精玫瑰 | 九九免费精品视频在线观看 | 亚洲视频精品在线 | 欧美性生活一级片 | 丁香视频全集免费观看 | 一区二区电影在线观看 | 亚洲专区免费观看 | 欧美性色网站 | 久久免费激情视频 | 中文字幕在线观看完整 | 午夜色影院| 欧美成人在线免费观看 | 超碰97.com| 国产午夜影院 | 国产精品99久久久久久宅男 | 中文字幕影视 | 国产美女免费看 | 麻花豆传媒mv在线观看网站 | 久久永久视频 | 婷婷日日| 亚洲黄色免费电影 | 色天堂在线视频 | 99riav1国产精品视频 | 天堂av在线中文在线 | 亚洲精品网址在线观看 | av在线进入| www.五月婷 | 国产一区二区在线看 | 日韩中文字幕在线 | 91在线播放国产 | 人人澡人人添人人爽一区二区 | 97超碰国产精品 | 精品在线不卡 | 粉嫩av一区二区三区四区五区 | 91九色porny在线 | 香蕉视频国产在线观看 | 骄小bbw搡bbbb揉bbbb | 欧美日韩国产一区二区三区 | 欧美精品v国产精品v日韩精品 | 日产乱码一二三区别在线 | 九七视频在线观看 | 久久96国产精品久久99软件 | 久草免费新视频 | 伊人久久一区 | 亚洲美女在线一区 | 日韩午夜在线 | 国产精品成人久久久久久久 | 国产精品国产三级国产不产一地 | 久久视频| 美女免费视频观看网站 | 中字幕视频在线永久在线观看免费 | 草久久影院 | 国产一级电影网 | 九九久久影视 | 欧美精品免费在线观看 | 亚洲国产一区二区精品专区 | 欧美一级黄色视屏 | 91 中文字幕 | 免费在线观看av网站 | 久久这里只有精品久久 | 国产精品高潮呻吟久久久久 | 在线观看av黄色 | 91看片在线免费观看 | 欧美精品亚洲二区 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 亚洲视频资源在线 | 亚洲六月丁香色婷婷综合久久 | 亚洲黄色小说网址 | 91视频在线观看下载 | 91视频3p | 久久久国产在线视频 | 免费观看黄色12片一级视频 | 麻豆精品传媒视频 | 高清av免费看 | 日韩一二区在线观看 | 不卡av在线播放 | 开心激情综合网 | 91精品国产92久久久久 | 久久99亚洲精品久久久久 | 国产一区二区不卡视频 | 97超碰福利久久精品 | 日日夜夜91 | 久久午夜色播影院免费高清 | www.久久91| 精品国产一区二区三区四区vr | 激情久久久久久久久久久久久久久久 | 中文字幕乱在线伦视频中文字幕乱码在线 | 久久国产精品区 | 国内小视频 | 国产精品大片在线观看 | 日韩一区二区三区高清免费看看 | 色.www| 国产日产精品一区二区三区四区 | 国产久草在线观看 | 国产中文字幕三区 | 国产裸体视频网站 | 日韩中文字幕网站 | 最近中文字幕免费大全 | 欧美成人手机版 | 福利在线看片 | 国产亚洲一级高清 | 狠日日| 天天操狠狠干 | 激情影院在线观看 | 丁香五婷 | 在线观看激情av | 一区二区三区电影在线播 | 一区二区电影在线观看 | 91精品免费 | 日韩欧美高清一区二区三区 | 在线日本看片免费人成视久网 | 久久精品欧美日韩精品 | 欧美日本一区 | 成人a视频片观看免费 | a级国产毛片 | www91在线观看 | 麻豆影视网站 | 天天综合日| 六月久久婷婷 | 亚洲综合一区二区精品导航 | 91女神的呻吟细腰翘臀美女 | 欧日韩在线视频 | www欧美xxxx| 久久久久久国产精品久久 | 久久9999久久免费精品国产 | 亚洲国产理论片 | 国产精品免费在线播放 | 992tv在线成人免费观看 | 久久电影国产免费久久电影 | 91亚洲精品久久久蜜桃 | 日本大片免费观看在线 | 99免费观看视频 | 九七视频在线观看 | 久久久免费毛片 | 久久高清国产 | 午夜电影久久久 | 中文字幕在线影视资源 | 伊人色**天天综合婷婷 | 91亚洲欧美 | 国产精品美女999 | 欧美 日韩 视频 | 91精品国产综合久久久久久久 | 天海冀一区二区三区 | 久一网站| 成人免费在线视频观看 | 特级西西人体444是什么意思 | 久久精品综合一区 | 久久精品视频免费播放 | 免费观看9x视频网站在线观看 | 99在线热播 | 九九视频精品在线 | 人人舔人人爽 | 五月天综合在线 | 久久99国产精品自在自在app | 欧美在线91| 日日爱网址| 在线国产精品视频 | 国产丝袜制服在线 | 国产福利av在线 | 在线av资源 | 亚洲精品在线视频观看 | 91精品入口 | 日本黄色免费看 | 中文字幕av在线免费 | 91麻豆精品国产 | 亚洲欧美婷婷六月色综合 | 91综合在线| 五月激情天| 天天视频色版 | 久久久久久久av麻豆果冻 | 亚洲专区在线视频 | 久久艹综合 | 一区二区三区av在线 | 91香蕉视频 mp4 | 国产高清久久久 | 黄色小网站在线观看 | 日本久久久久久久久久久 | zzijzzij日本成熟少妇 | 久久99精品国产一区二区三区 | 亚洲精品午夜久久久 | 日本三级人妇 | 国产精品资源在线 | 国产视频首页 | 亚洲va欧美 | 国产黄色免费电影 | 久草在线免费看视频 | 国产精品视频全国免费观看 | 久久毛片高清国产 | 亚洲精品字幕在线 | 国产免费av一区二区三区 | 99久久综合精品五月天 | 国内精品久久久久久久影视简单 | 去干成人网 | 福利一区在线 | 91精品网站在线观看 | 精品久久五月天 | av线上看| 在线观看久久 | 亚洲一区免费在线 | 亚洲动漫在线观看 | 国内久久久久 | 久草免费电影 | 俺要去色综合狠狠 | 91麻豆精品国产自产在线 | a黄色片 | 园产精品久久久久久久7电影 | 国产精品资源在线 | 亚洲精品国产品国语在线 | 国产精品手机视频 | 一级片免费观看视频 | 日本三级国产 | 亚洲欧美日韩精品一区二区 | 99久久久久久国产精品 | 久久久国产成人 | 九九综合九九 | 就操操久久| 97av影院| 欧美在线视频二区 | 99免费看片 | 丁五月婷婷 | 色在线免费视频 | 激情综合啪啪 | 免费看一及片 | 在线99热 | 免费a网站| 成人精品久久久 | 久久黄色免费 | 91网站免费观看 | 美女视频黄在线 | 成人av在线影视 | 日本在线h| 国产午夜精品久久 | 久草综合视频 | 日韩色高清 | 国产精品久久久久久久久久久不卡 | 天天操 夜夜操 | 久久国语 | 国产午夜麻豆影院在线观看 | 黄色网免费 | 亚洲欧美日韩一区二区三区在线观看 | 精品视频免费观看 | 午夜体验区 | 久久久久久久久久久久久9999 | 久久免费播放 | 精品亚洲欧美一区 | caobi视频 | 久久97久久97精品免视看 | 91成人看片 | 一级理论片在线观看 | 久久玖| 麻豆视频免费播放 | 国产精品免费久久久久久久久久中文 | 国产精品第52页 | 996久久国产精品线观看 | 香蕉精品在线观看 | 国产粉嫩在线 | 狠狠操综合网 | 久久综合久久综合久久 | 日韩在线观看视频网站 | 欧美aaa视频| 九九九热精品 | 精品久久国产 | 天天综合网在线 | 一区二区三区韩国免费中文网站 | 欧美一区二区日韩一区二区 | 精品视频免费观看 | 九九热视频在线 | av大全免费在线观看 | 欧美激情第八页 | 国产精品久久久久av福利动漫 | 精品视频久久 | 成人av播放| 精品国产成人av在线免 | 久久综合九色综合久久久精品综合 | 久久精品久久精品久久 | av三级在线看 | 九九热精品在线 | 欧美一级片在线观看视频 | 亚洲精品视频久久 | 伊人宗合网 | 国产精品日韩欧美一区二区 | 国产亚洲婷婷免费 | 一区二区三区免费 | 91豆麻精品91久久久久久 | 91麻豆精品国产91久久久更新时间 | 国产免费观看av | 日韩精品一区二区在线观看 | 在线国产中文字幕 | 国产手机视频在线播放 | 五月天久久精品 | www91在线| 色婷婷亚洲综合 | 在线视频久 | 日韩在线观看影院 | 欧美日韩国产一区二区三区 | 97在线视频免费 | 香蕉视频一级 | 免费精品 | 色小说在线 | 91在线www | 精品久久九九 | 精品视频免费久久久看 | 99在线观看视频网站 | 九九三级毛片 | 成人免费在线播放视频 | 亚洲视频高清 | ,久久福利影视 | 91中文字幕在线观看 | 国产第一页在线播放 | 久久精品国产亚洲精品 | 国产不卡毛片 | www黄色com| 国产精品美女久久久 | 中文字幕亚洲欧美日韩2019 | 久久在线观看视频 | 国产精品一区免费在线观看 | 久久电影网站中文字幕 | 亚洲国产视频直播 | 手机av永久免费 | 奇米影视8888在线观看大全免费 | 国产小视频在线看 | 麻豆果冻剧传媒在线播放 | 色噜噜狠狠狠狠色综合久不 | 成人免费视频网站 | 国产精品久久久久久久电影 | 超碰人人做 | 婷婷精品 | 亚洲国产美女精品久久久久∴ | 黄色美女免费网站 | 日本在线精品视频 | 中文字幕在线观看第三页 | 狠狠色噜噜狠狠 | 色噜噜在线观看视频 | 亚洲天堂网视频 | 国产精品6| 一区二区三区三区在线 | 美女精品在线 | 日韩欧美一区二区三区黑寡妇 | 91在线一区二区 | 国产精品9999久久久久仙踪林 | 免费下载高清毛片 | 特级毛片在线免费观看 | 成人免费在线视频观看 | 精品国产乱码久久久久久三级人 | www.夜夜操.com | 手机在线欧美 | 亚洲1区在线 | 日韩视频一二三区 | 天天躁日日躁狠狠躁 | www欧美色| 久久在线精品视频 | 欧美色图亚洲图片 | 国产综合精品一区二区三区 | 久久久久区 | 久久精品国产第一区二区三区 | 亚洲精品网页 | 99精品国产一区二区三区麻豆 | 日韩美av在线 |