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

UmiJS 中后臺(tái)項(xiàng)目實(shí)踐

共 6697字,需瀏覽 14分鐘

 ·

2020-10-27 20:00

背景

中后臺(tái)項(xiàng)目一般都有較強(qiáng)的頁(yè)面結(jié)構(gòu)或者邏輯一致性,頁(yè)面比如像搜索、表格、導(dǎo)航菜單、布局,邏輯方面比如像數(shù)據(jù)流,權(quán)限。如果基于 Webpack 封裝這些功能就需要比較大的前期工作,Umi 則以路由為基礎(chǔ),并以此進(jìn)行功能擴(kuò)展,包含微前端、組件打包、請(qǐng)求庫(kù)、hooks 庫(kù)、數(shù)據(jù)流等?;诖嗽诠緝?nèi)落地 umi 的實(shí)踐。

目錄結(jié)構(gòu)

基于 umi 的項(xiàng)目整體目錄結(jié)構(gòu)說(shuō)明,對(duì)項(xiàng)目能有個(gè)大致的了解

├──?package.json
├──?config
??└──?config.js
├──?dist
├──?mock
├──?public
└──?src
????├──?.umi
????├──?layouts/index.js
????├──?locales
????├──?models
????├──?pages
????????├──?index.less
????????└──?index.js
????├──?services
????├──?wrappers
????├──?global.js
????└──?app.js
  • config.js — 主要是路由配置,插件配置,webpack 配置
  • layouts — 布局相關(guān)
  • locales — 國(guó)際化
  • modelsdva 數(shù)據(jù)流方案或者 plugin-model
  • wrappers — 配置路由的高階組件封裝,比如路由級(jí)別的權(quán)限校驗(yàn)
  • app.js — 運(yùn)行時(shí)配置,比如需要?jiǎng)討B(tài)修改路由,覆蓋渲染 render,監(jiān)聽(tīng)路由變化
  • global.js — 全局執(zhí)行入口,比如可以放置 sentry

路由

路由可以說(shuō)是前端項(xiàng)目的基石,下面談?wù)劼酚上嚓P(guān)的配置

//?config/route.js
export?default?[{
??path:?'/merchant',
??name:?'商戶(hù)管理',
??routes:?[
????{
??????path:?'/merchant/list',
??????name:?'商戶(hù)列表'
??????component:?'./list'
????},
????{
??????path:?'/merchant/detail',
??????name:?'商戶(hù)詳情',
??????hideInMenu:?true,
??????component:?'./detail'
????}
??]
}]

路由配置除了常規(guī)的 name,path,component 也可以支持配置 umi 插件的配置選項(xiàng),比如pro-layout的 hideInMenu 來(lái)隱藏路由對(duì)應(yīng)導(dǎo)航菜單項(xiàng)

路由組件按需加載可以在 config.js 中配置開(kāi)啟

//?config/config.js
export?default?{
??dynamicImport:?{}
}

路由也支持 hook 鉤子操作,比如登錄后再訪問(wèn)登錄頁(yè)面就重定向到首頁(yè)

//?config/route.js
{
??path:?'/login',
?wrappers:?[
????'@/wrappers/checkLogin',
??],
??component:?'./Login'
}

某些項(xiàng)目的路由可能是數(shù)據(jù)庫(kù)配置的,這個(gè)時(shí)候就需要?jiǎng)討B(tài)路由,從接口獲取數(shù)據(jù)創(chuàng)建路由

//?src/app.js
let?extraRoutes;

export?function?patchRoutes({?routes?})?{
??merge(routes,?extraRoutes);
}

export?function?render()?{
??fetch('/api/routes').then((res)?=>?{?extraRoutes?=?res.routes?})
}

數(shù)據(jù)流方案選擇

  1. 使用 @umijs/plugin-dva,開(kāi)發(fā)方式類(lèi)似 redux
//?config/config.js
export?default?{
??dva:?{
????immer:?true,
????hmr:?false,
??}
}
  • 約定是到 model 組織方式,不用手動(dòng)注冊(cè) model
  • 文件名即 namespacemodel 內(nèi)如果沒(méi)有聲明 namespace,會(huì)以文件名作為 namespace
  • 內(nèi)置 dva-loading,直接 connect loading 字段使用即可
  1. 使用 @umijs/plugin-model

一種基于 hooks 范式的簡(jiǎn)易數(shù)據(jù)管理方案(部分場(chǎng)景可以取代 dva),通常用于中臺(tái)項(xiàng)目的全局共享數(shù)據(jù)。

//?src/models/useAuthModel.js
import?{?useState,?useCallback?}?from?'react'

export?default?function?useAuthModel()?{
??const?[user,?setUser]?=?useState(null)
??const?signin?=?useCallback((account,?password)?=>?{
????//?signin?implementation
????//?setUser(user?from?signin?API)
??},?[])
??const?signout?=?useCallback(()?=>?{
????//?signout?implementation
????//?setUser(null)
??},?[])
??return?{
????user,
????signin,
????signout
??}
}

使用 Model

import?{?useModel?}?from?'umi';

export?default?()?=>?{
??const?{?user,?fetchUser?}?=?useModel('user',?model?=>?({?user:?model.user,?fetchUser:?model.fetchUser?}));
??return?<>hello
};

從使用體驗(yàn)來(lái)講,中臺(tái)項(xiàng)目基本就是表單和表格,跨頁(yè)面共享數(shù)據(jù)場(chǎng)景并不是很多,使用 dva 有點(diǎn)過(guò)重,因此推薦使用第 2 種 plugin-model 這種輕量級(jí)的

布局


@umijs/plugin-layout 插件提供了更加方便的布局

  • 默認(rèn)為 Ant Design 的 Layout @ant-design/pro-layout[1],支持它全部配置項(xiàng)。
  • 側(cè)邊欄菜單數(shù)據(jù)根據(jù)路由中的配置自動(dòng)生成。
  • 默認(rèn)支持對(duì)路由的 403/404 處理和 Error Boundary。
  • 搭配 @umijs/plugin-access 插件一起使用,可以完成對(duì)路由權(quán)限的控制。
//?src/app.js
export?const?layout?=?{
??logout:?()?=>?{},?//?do?something
??rightRender:(initInfo)=>?{?return?'hahah';?},//?return?string?||?ReactNode;
};

權(quán)限

一般項(xiàng)目離不開(kāi)權(quán)限的管理, umi 使用 @umijs/plugin-access 來(lái)提供權(quán)限設(shè)置

//?src/access.js
export?default?function(initialState)?{
??const?{?permissions?}?=?initialState;?//?getInitialState方法執(zhí)行后

??return?{
????canAccessMerchant:?true,
????...permissions
??}
}
  1. 對(duì)路由頁(yè)面的權(quán)限控制,在路由配置中新增 access 屬性
//?config/route.js
export?default?[{
??path:?'/merchant',
??name:?'商戶(hù)管理',
??routes:?[
????{
??????path:?'/merchant/list',
??????name:?'商戶(hù)列表'
??????component:?'./list',
??????access:?'canAccessMerchant'
????}
??]
}]
  1. 當(dāng)然也可以在頁(yè)面或組件內(nèi)用 useAccess 獲取到權(quán)限相關(guān)信息
import?React?from?'react'
import?{?useAccess?}?from?'umi'

const?PageA?=?props?=>?{
??const?{?foo?}?=?props;
??const?access?=?useAccess();

??if?(access.canReadFoo)?{
????//?如果可以讀取?Foo,則...
??}

??return?<>TODO
}

export?default?PageA
  1. 實(shí)際業(yè)務(wù)開(kāi)發(fā)中,權(quán)限需要從接口動(dòng)態(tài)獲取,就需要使用 @umijs/plugin-initial-state@umijs/plugin-model
//?src/app.js
/**
getInitialState會(huì)在整個(gè)應(yīng)用最開(kāi)始執(zhí)行,返回值會(huì)作為全局共享的數(shù)據(jù)。Layout 插件、Access 插件以及用戶(hù)都可以通過(guò) useModel('@@initialState')?直接獲取到這份數(shù)據(jù)
*/

export?async?function?getInitialState()?{
??const?permissions?=?await?fetchUserPermissions()
??return?{?permissions?}
}

國(guó)際化

@umijs/plugin-locale 國(guó)際化插件,用于解決 i18n 問(wèn)題

使用 antd 開(kāi)發(fā),默認(rèn)是英文,顯示中文就需要開(kāi)啟國(guó)際化配置

//?config/config.js
export?default?{
??locale:?{
????default:?'zh-CN',
????antd:?true,
????baseNavigator:?true,
??}
}

在路由中的 title 或者 name 可直接使用國(guó)際化 key,自動(dòng)被轉(zhuǎn)成對(duì)應(yīng)語(yǔ)言的文案

//?src/locales/zh-CN.js
export?default?{
??'about.title':?'關(guān)于?-?標(biāo)題',
}
//?src/locales/en-US.js
export?default?{
??'about.title':?'About?-?Title',
}

項(xiàng)目配置如下

export?default?{
??routes:?[
????{
??????path:?'/about',
??????component:?'About',
??????title:?'about.title',
????}
??]
}

集成 redux 插件

如果開(kāi)啟 dva,也就是使用 redux 來(lái)集中管理數(shù)據(jù)流,那么使用 redux-persist 插件持久化 redux 數(shù)據(jù)到 localStorage 里,大致使用如下

//?src/app.js
import?{?getDvaApp?}?from?'umi'
import?{?persistStore,?persistReducer?}?from?'redux-persist'
import?storage?from?'redux-persist/lib/storage'
import?autoMergeLevel2?from?'redux-persist/lib/stateReconciler/autoMergeLevel2'
import?createFilter?from?'redux-persist-transform-filter'

export?const?dva?=?{
??config:?{
????onError(e)?{
??????e.preventDefault()
????},
????onReducer(reducer)?{
??????const?globalCollapsedFilter?=?createFilter('global',?['collapsed'])
??????const?persistConfig?=?{
????????key:?'root',
????????storage,
????????whitelist:?['global'],
????????transforms:?[globalCollapsedFilter],
????????stateReconciler:?autoMergeLevel2
??????}
??????return?persistReducer(persistConfig,?reducer)
????}
??}
}

window.addEventListener('DOMContentLoaded',?()?=>?{
??const?app?=?getDvaApp()
??persistStore(app._store)
})

插件開(kāi)發(fā)

umi 實(shí)現(xiàn)了完整的生命周期,并使其插件化,這樣就為使用者提供了擴(kuò)展入口。比如設(shè)置默認(rèn)配置插件

export?default?api?=>?{
??api.modifyDefaultConfig(config?=>?{
????return?Object.assign({},?config,?{
??????title:?false,
??????history:?{
????????type:?'hash'
??????},
??????hash:?true,
??????antd:?{},
??????dva:?{
????????hmr:?true
??????},
??????dynamicImport:?{
????????loading:?'@/components/PageLoading'
??????},
??????targets:?{
????????ie:?10
??????},
??????runtimePublicPath:?true,
??????terserOptions:?{
????????compress:?{
??????????drop_console:?true
????????}
??????}
????});
??});
}

Umi2 升級(jí)到 Umi3 的優(yōu)勢(shì)

組內(nèi)電商項(xiàng)目在升級(jí)之前使用的是內(nèi)嵌 umi2antd-design-pro4, 雖然可以滿(mǎn)足業(yè)務(wù)開(kāi)發(fā),但是模板依然還是有較多不符合業(yè)務(wù)的部分,比如權(quán)限校驗(yàn)這塊。

Umi3 的發(fā)布也帶來(lái)更好的架構(gòu)和開(kāi)發(fā)體驗(yàn)

  • 配置層做了大量精簡(jiǎn)
  • 最新的 Umi3 插件提供了 Layout, 數(shù)據(jù)流,權(quán)限等新方案
  • 終于把模板內(nèi)的權(quán)限相關(guān)代碼內(nèi)置化了

基于 Umi 搭建腳手架模板

基于 Umi 搭建內(nèi)部中臺(tái)腳手架模板如下圖顯示

基于 Umi 此腳手架模板擴(kuò)展了如下能力

  • 編譯打包符合公司 beetle(內(nèi)部 CI/CD 平臺(tái))部署規(guī)范的 dist 目錄
  • 自定義默認(rèn)配置插件,減少配置項(xiàng)配置
  • eslint 校驗(yàn)
  • prettier 格式化代碼
  • git 提交規(guī)范
  • 結(jié)合 pro-layout 實(shí)現(xiàn)更加方便的布局
  • 利用運(yùn)行時(shí)配置 app.js 動(dòng)態(tài)生成本地和遠(yuǎn)程相結(jié)合的配置式導(dǎo)航菜單
  • 結(jié)合 plugin-access 插件和內(nèi)部權(quán)限系統(tǒng)實(shí)現(xiàn)頁(yè)面或按鈕級(jí)別權(quán)限控制

新建項(xiàng)目根據(jù)公司內(nèi)的腳手架工具選擇中臺(tái)模板可快速創(chuàng)建帶有權(quán)限、布局、代碼規(guī)范、通用頁(yè)面等功能的初始項(xiàng)目,可以很大的避免重復(fù)工作。

總結(jié)

Umi 提供了開(kāi)箱即用能力, 你不需要配置 webpack,babel 這些,最佳實(shí)踐配置已內(nèi)置化。當(dāng)然也可以自定義開(kāi)發(fā)插件擴(kuò)展。Umi 在性能上做了很多努力,這些對(duì)于開(kāi)發(fā)者是無(wú)感知的。

稍有不足的是 Umi 對(duì) webpack-dev-server 配置開(kāi)放較少,如果有對(duì) webpack-dev-server 有比較大配置需求則需要考量一下~~


●?你不知道的 Animation 動(dòng)畫(huà)技巧

●?前端入門(mén)機(jī)器學(xué)習(xí) Tensorflow.js 簡(jiǎn)明教程

●?Taro 支持使用 Vue3 開(kāi)發(fā)小程序



·END·

圖雀社區(qū)

匯聚精彩的免費(fèi)實(shí)戰(zhàn)教程



關(guān)注公眾號(hào)回復(fù) z 拉學(xué)習(xí)交流群


喜歡本文,點(diǎn)個(gè)“在看”告訴我

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

手機(jī)掃一掃分享

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

手機(jī)掃一掃分享

分享
舉報(bào)

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

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 久久你懂的| 日韩无码激情| 欧美九九| 日本一区二区三区视频在线观看| 三级片亚洲无码| 亚洲无码在线免费视频| 51成人网站免费| 亚洲人成免费网站| 亚洲天堂在线视频播放| 无码人妻精品一区二区三区蜜臀百度 | 微熟女导航| 欧美肏屄视频| 台湾精品一区二区三区| 成人无码视频在线观看| 欧美,日韩,中文字幕| 免费久草视频| 婷婷五月天久久| 欧美一级生活片| 91日日夜夜| 大屌一区二区三区| 97久久一区二区| 大香蕉一区二区三区| 动漫人物插画动漫人物的视频软件| 探花视频在线观看| 熊猫AⅤ| 三级91| 免费看无码一级A片放24小时| 福利视频免费观看| 黄色视频在线免费播放| 亚洲自拍天堂| 中文一区| 亚洲无码高清在线观看视频| 久操青青| 青青草原av| 亚洲一卡二卡三卡四卡免| 午夜天堂精品久久| 亚洲A网站| 日欧无码| 日韩乱轮小说与视频| 人人妻人人要| 99电影网手机在线观看| 青青草无码在线| 欧美一级二级三级| 欧美国产综合| 日本熟女视频| 欧美一级爱| 三级视频在线观看| 色老板最新地址| 免费观看黄色视频| 西西人体44www大胆无码| 国产高清自拍| 日本中文字幕亚洲| 国产精品色在线回看| 黑人精品欧美一区二区蜜桃| 亚洲秘无码一区二区三区欧美| 免费看操逼逼| 国内无码| 中文字幕人妻系列| 人妻无码A| 国产精品一区二区不卡| 亚洲午夜无码精品专区| а天堂中文在线资源| 中文无码字幕视频| 婷婷色在线视频| 日韩无码波多野结衣| 无码色色| 超碰97成人| 另类在线| 青青免费在线视频| 五月天激情小说| 嘉兴少妇按摩69XX| 最新国产第一页| 国产无套内射在线观看| 中国老少配BBwBBwBBW| 日本黄色免费看| 久久青草免费视频| 91丨人妻丨国产丨丝袜| 可以在线观看的AV| 操操操操操操操操逼| 一级特黄AAAA片| 天天日天天噜| 夜夜躁狠狠躁日日躁av| 激情综合网站| 日韩在线观看网站| 91欧美精品成人综合在线观看| 欧美一级操逼| 人人操国产| 四虎激情影院| 草比视频| 一区二区无码av| 黄色片免费在线观看| 日韩精品一区二区三区中文在线| 精品人妻在线| 看一级黄色毛片| 黄页网站免费观看| 韩日一区二区三区| 先锋影音男人资源站| 日韩无码高清视频| 色婷婷视频在线播放| 国产av三级| 日本少妇bbw| 在线观看黄色视频网站| 日韩在线视频91| 国产aaaa| 少妇喷水视频| 啪啪成人网| 日韩欧美成人电影| 欧美级毛片一进一出夜本色| 精品视频在线看| VA电影| 干片网| 黄片免费播放| a级片在线观看| 色图插插插| 色色五月天婷婷| 日韩欧美手机在线| 国产精品午夜在线观看| 狼友在线视频| 亚州精品人妻一二三区| 欧美一级棒| 国产卡一卡二在线| 免费看黄片| 无码免费一区二区三区| 精品人妻一区二区三区-国产精品| 久久一区二区三区四区五区| 美女国产精品| 欧美黄片无码| 午色婷婷国产无码| 69超碰| 国产一级片免费观看| 天天躁日日躁狠狠| 亚洲69v久久久无码精品| 三级av网站| 国产激情在线观看| 日韩高清一区| 91福利导航| 久热精品免费| 欧美色逼逼| 成人性爱视频在线| A视频免费在线观看| 中文字幕在线观看完整av| 欧美日本亚洲| 免费黄色视频大全| 欧美高潮喷水| 欧美黄色三级视频| 亚洲在线a| 操逼网123首页| 精品伊人大香蕉| 欧美激情伊人久久五月天| 在线天堂网| 欧美视频中文字幕| caopor在线| 中文无码熟妇人妻| 国产69久久精品成人看| 夜夜撸天天操| 成人婷婷网| 国产AV高潮| footjobvk| 波多野结衣无码高清| 亚洲理论片| 蜜桃BBwBBWBBwBBw| 亚洲无码成人视频| 久久一| 日本中文字幕网站| 182在线视频| 懂色AV成人| 欧美AAA黄片| 国产91无码精品秘入口新欢| 99亚洲天堂| 青春草在线播放| 97免费在线观看视频| 山东乱子伦视频国产| 在线成人视频网站大香蕉在线网站 | 97午夜福利视频| 亚洲综合网在线观看| 蜜桃无码一区| 高清毛片AAAAAAAAA片| 婷婷五月999| 深爱激情综合| 四虎色情| 四虎影库男人天堂| 国产色黄视频| 国产女人免费| 婷婷五月999| 超碰在线进入| 妖精视频黄色| 午夜成人大片| 黄色电影天堂网站| 可以免费观看的AV| 人人爽网站| 日韩免费| 国产又爽又黄免费观看视频| 狠狠的操| 黄色在线欣赏| 四虎影院人妻| 久久双飞| 天堂无吗| 伊人成人网视频| 无码国产精品一区二区性色AV| 樱桃Av| 免费看国产黄色| 国产性爱av| 成人AV毛片| 亚洲国产婷婷| 日韩日逼视频| 国产无码一区二区| AV日逼网| 久久无码成人| 草b网站| 国产精品国产三级国产专区52| 超碰av电影| 国产福利电影在线| 黄色无码视频在线观看| 国产精品福利导航| 婷婷五月天色色| 午夜成人福利片| 大鸡巴操骚逼视频| 亚洲A片在线观看| 日本成人视频| 豆花视频在线观看| 久久久电影| 天堂久久av| 国产91丝袜在线播放| 美女A级毛片| 成年片| 韩国精品无码| 免费在线看黄网站| 影音av| 免费一级片| 国产精品视频在线看| 久久久久亚洲AV成人片乱码| 午夜福利无码电影| 国产v欧美| 99视频精品全部免费看| 插菊花综合网3| 国产美女自慰网站| 福利一区二区| 做爱视频毛片人乱| 欧美大屌网站| 久操久| 婷婷爱五月| 91香蕉在线观看| 人人操人妻| 国产免费一区二区三区网站免费 | 亚洲你懂的| 中文字幕一区二区三区精华液| 在线看A片| 免费看黄色视频的网站| 九九热av| 九九99精品| 国产AV福利| 操操操操操操操操逼| AV牛牛| 水果派解说av| 日皮视频免费在线观看| 国产高清视频在线| 操逼电影免费| 韩国gogogo高清在线完整版| 日韩视频――中文字幕| 国产精品成人无码| 日韩免费| 在线中出| 欧美日逼片| 五月深爱| 视频一区中文字幕| 欧美h| 国产中文字幕在线免费观看| 欧美1区2区| 国产精品V| 亚洲有码中文字幕| 色五月婷婷视频| 亚洲a电影| 亚洲欧美国产毛片在线| 亚洲AV成人片无码网站| 国产精品女人精品久久久天天| 色综合色综合色综合| 欧美精品一级片| 日皮免费视频| 久久双飞| 粉嫩av在线| 肏屄视频免费观看| 亚洲三级视频| 伊人久久AV| 精品久久99| 国产视频久久久| 自拍一区在线观看| 中字无码制服| 国产一级a毛一级a毛视频在线网站 | 国产人妖av| 精品视频在线观看免费| 91中文在线| 丁香五月天在线播放| 免费黄视频在线观看| 日韩在线中文字幕视频| 中文字幕亚洲视频| 日韩一区二区在线看在线看| 熟女综合网| 欧美一级黄色电影| 午夜老湿机| 日本精品人妻| 古装一级无遮挡A片| 国产三级| 欧美日韩一区二区在线| 欧美日韩第一页| 91AV视频| 免费一级AAAAA片在线播放| 亚洲日韩影院| AA黄色电影| 婷婷五月天影视| 91av成人| 猫咪亚洲AV成人无码电影| 国产黄a| 亚州AV| 亚洲秘无码一区二区| 亚洲激情一区| 欧美色色网| 亚洲成人一二三区| 欧美日韩中文字幕| 人妻公日日澡久久久| 啪啪啪免费视频| 日产久久视频| 亚洲永久天堂| 国产一级片免费看| 最新av资源| 欧美视频基地| 欧美精品久久久久久久多人混战| 亚洲日韩精品成人无码专区AV| 狠操在线| 色偷偷综合| 国产又猛又黄又爽| 精品无码一区二区三区四区| 免费国产精品视频| 人妻无码电影推荐| 91亚色视频| 欧美毛片在线观看| 无码免费视频| 一级在线播放| wwwA片| 午夜美女福利视频| 自拍偷拍无码| 欧美三级欧美一级| 国产成人无码区免费AV片在线| 福利老湿69| 欧美日韩中文| 最新免费毛片| 国产网址| 美妇肥臀一区二区三区-久久99精品国 | 九色PORNY国产成人| 国产又爽又黄免费网站校园里| 无码精品一区二区免费| 五月婷中文字幕| www黄片视频| 成年人免费视频网站| 国产高清毛片| 国产精品高潮无套内谢| 999精品视频在线| 黄色片视频| 四川少妇BBB凸凸凸BBB安慰我 | 日韩欧美大片在线观看| 97久久精品国产熟妇高清网| 亚洲中字幕| 日逼图| 高清无码不卡视频| 影音先锋成人网| 国产1级a毛a毛1级a毛1级| 日韩人妻无码专区| 综合精品7799| 欧美综合网| 色亭亭影院| 久久黄色视频| 999久久| 在线观看国产视频| 91x色| 亚洲AV成人无码久久精品麻豆| 亚洲日韩免费视频| 国产色天使| 国产黄色免费电影| 尻屄网| 五月天激情综合| 精品精品精品| 成人激情在线| 久艹大香蕉| www.狠狠操| 亚洲人成电影网| 欧美黄网站| 麻豆精品秘国产| 婷婷五月天色| 51妺嘿嘿午夜福利在线| 久久国产大奶| 精品一区二区三区在线观看| 日日撸视频| 久草热视频| 日韩91在线视频| 安徽妇搡BBBB搡BBBB| 中国人妻HDbute熟睡| 臭小子晚上让你爽个够视频| 国产欧美日韩综合精品| 国产婷婷色一区二区在线观看| jizz18日本| 国产精品一二区| 日韩国产免费| 无码视频网站| 久久福利电影| 麻豆一级片| 亚洲黄色免费电影| 免费一区二区三区四区| 性爱一级| 久久毛片| 久久久久久久无码| 亚洲无码AV免费观看| 成人怡红院| 69视频免费观看| 六月婷婷七月丁香| 久草社区| 可以免费看AV的网站| 国产午夜三级| 四虎精品一区二区三区| JlZZJLZZ亚洲美女18| 综合激情av| 欧美性爱自拍| 国产不卡在线观看| 亚洲综合免费观看高清完整版在线观| 91乱子伦国产乱子伦| 五月天婷婷久久| 无码欧美人XXXXX日本无码| 国产成人在线播放| 99热网| 免费观看黄色AV| 欧美韩日高清精彩视频| 成人三级视频在线观看| 中文字幕av免费在线观看| 91久久久裸身美女| 水蜜桃网址| 欧美成人精品欧美一级| 日本亚洲精品秘入口A片| 日韩中文字幕在线| 黄色影院在线观看| 国产三级视频在线| 中文原创麻豆传媒md0052| 婷婷激情四射| av网站免费看| 性色在线| 国产精品三级在线| 91九色口爆吞精| 亚洲专区中文字幕| 日韩色逼| 婷婷爱五月天| 蜜桃91精品秘入口| 成人在线精品视频| 特黄av| AV牛牛| 91牛视频| 插逼网站| 二区三区在线| 精品操逼视频| 国产成人精品AV| 永久免费av| 国产性爱图| 一本色道久久综合熟妇| 亚洲va欧美ⅴa在线| 日韩一页| 亚洲视频中文字幕在线观看| 亚洲精品乱码久久久久久久| 国产精品aaa| 亚洲天天操| 国产靠逼视频| 国产成人精品久久| 欧美性爱日韩| 国产欧美一区二区精品性色超碰| 91欧美在线| 一级电影视频去去去| 亚洲成人第一网站| 人人干人人摸| www超碰| AA毛片| 国产午夜精品一区二区三区四区 | 欧美日韩a| 91人人妻人人澡| 五月婷婷色色色| 国产一级片免费视频| 竹菊影视一区二区三区| 欧美性爱自拍| A视频在线免费观看| 欧美黄色性爱| 黄色A毛片| 91东热激情| www.啪啪| 日韩精品久久久久久久| 91视频在线免费看| 亚洲成人电影无码| 999成人网| 色欲影视插综合一区二区三区| 91精品丝袜久久久久久久久久粉嫩| 亚洲无码在线播放视频| 国产av小电影| 丁香花在线高清完整版视频| 日本免费黄色| 蜜桃传媒一区二区亚洲AV| 国产视频福利在线| 欧洲一区在线观看| AV高清无码在线观看| 精品国产一区二区三区性色AV| 国产一级18片视频| 日本一区二区三区在线视频| 欧美一区二区三区免费| 色天堂污| 国产中文字字幕乱码无限| 黄色的视频网站| 黑人粗暴偷拍一区二区| 欧美激情五月| 自拍偷拍无码| 国产操逼视频网站| 日韩爱爱爱| 一级性爱毛片| 骚逼www| 51嘿嘿嘿国产精品伦理| 成人av影院| 人妻电影亚洲av| 99久久久| 亚洲精品视频无码| 日本操逼电影| 岛国免费AV| 亚洲免费观看高清完整版| a无码视频在线观看| 色欲AV秘无码一区二区三区| 成人777777| 美日韩综合| 日本乱伦电影中文字幕| 丁香五月综合| 亚洲黄色视频网站| 狠狠操在线视频| 北条麻妃无码观看| 国产精品国产精品国产专区| 亚洲福利在线观看视频| 国产在线毛片| 少妇bbb| 日本中文视频| 婷婷五月天性爱| 午夜性福利视频| 婷婷五月天电影网| 能看毛片的网站| 国产又粗又大又爽| 影音先锋av网| 69AV网站| 国产3p露脸普通话对白| 人人澡av| 91精品国产一区二区三区四区大| 超碰欧美| 强开小嫩苞一区二区三区视频| 免费黄色在线| 色色婷婷五月天| 国产高清视频在线| 欧美黄色电影在线观看| 成人无码在线播放| 一区二区视频免费| 啪啪啪网站| 黄色毛片,男人天堂| 伊人色女操穴综合网| 大鸡巴午夜爽视频电影| 操逼逼一区二区三区| 女神思瑞精品一区二区三区| 尤物Av| 久久精品国产亚洲AV麻豆痴男| 中文字幕日本电影| 少妇无码一区| 成人久久AV| 美女毛片网站| 国产成人电影一区二区| 免费观看成人毛片A片直播千姿| 国产精品尤物| 亚洲成人h| 欧美熟女一区二区| 大香蕉88| 91久久精品一区二区三区| 欧美一级特黄A片免费观看| 国产又粗又大又爽| 伊人久久成人| 国产一在线| 91精品久久久久久久久久| 高潮AV在线观看| 岛国免费AV| 欧美级毛片一夜| 一本道高清无码视频| 欧美一区二区在线| 国产精品三级片| 国产粉嫩小泬白浆18p| 特一级黄A片| 99热精品免费观看| 国产美女在线播放| 亚欧成人网站| 91人人妻人人澡| 久草综合视频| 国产熟妇码视频户外直播| 俺来了俺去了www色官网| 国产成人综合亚洲| 在线无码视频观看| 国产jizz| 日本少妇BBW| 国产h视频在线观看| 69毛片| 日本A片一级| 无码国精品一区二区免费蜜桃| 午夜专区| AV自拍偷拍| 久久99久久99久久99人受| 精精品人妻一区二区三区| www.狠狠操| 日韩黄在线| 国产无码成人电影| 国产精品免费一区二区三区四区视频| 國產精品777777777| 欧美日韩一级电影| 殴美A片| 婷婷五月在线| 操大逼视频免费国产| 九色91PORNY国产| 国产精品五月天| 欧美性爱一区二区三区| 台湾无码| 国产激情精品视频| 麻豆传媒免费观看| 特级婬片AAAAAAA级| 青青草操逼视频| 欧美三级长视频| 欧美V在线| 夜夜夜叫天天天做| 91亚洲国产成人精品一区| 国产激情在线视频| 亚洲欧美婷婷五月色综合| AV天堂资源| 久久久综合| 日韩人妻一区二区| A级视频网| 波多野59部无码喷潮| 久久久噜噜噜| 狠狠躁日日躁夜夜躁A片无码视频 强伦轩一区二区三区四区播放方式 | 99热最新网址| 这里视频很精彩免费观看电视剧最新| 亚洲偷拍视频| 成人动漫一区二区| 强奸乱伦制服丝袜| 久久久少妇| 欧美性猛交XXXXⅩXX| 韩国精品一区二区三区| 国产无码网站| 天天爱夜夜爱| 中文字幕区| 你懂的在线播放| 欧美色色色网| 天堂在线中文网| 日韩成人精品视频| 91视频免费看| 手机看片1024你懂的| 亚洲爆乳无码一区二区三区| 日本乱伦视频| 大香蕉伊人青青草| av中文无码| 影音先锋AV啪啪资源| 日本乱码视频| 久久精品偷拍视频| 亚洲卡一卡二| 蜜芽人妻在线| 中文字幕有码在线看| 久久综合电影| 国产剧情自拍| AV在线免费网站| 久久久久久久国产精品| 第四色色综合| 亚洲日韩欧美在线观看| 婷婷日韩| 国产伦精品一区二区三区妓女下载| 中文在线a∨在线| 三级视频在线播放| 天堂视频在线观看亚洲美女| 三级片一区二区| 女人18特级毛片。| 久艹综合| 麻豆国产| 亚洲无码高清电影| 亚洲无码一二区| 伊人黄片| 免费视频99| 在线观看者亚洲| 国产一级在线免费观看| 亚洲黄色免费电影| 偷偷操穴| 国产99久久久精品| 黄色视频在线观看国产| 一级黄色在线观看| 国产无码黄片| 超碰人人在线| 夸克看成人片一级A片| 天天av天天av天天爽| 亚洲日本中文字幕在线| 精品视频免费观看| 午夜福利av在线| 欧美日韩大片| 久久精品| 欧一美一婬一伦一区二区三区黑人-亚| 亚洲激情五月天| 日韩高清无码免费观看| 性久久久久久久| 成人大香蕉| 黄片视频在线| 91视频一区| 亚洲成人电影一区| 国产裸体美女网站| 欧美性爱成人| 亚洲日韩久久| 亚洲黄色视频在线观看网站| 一本色道久久综合亚洲二区三区| 九九成人免费视频| 日韩欧美中文| 理论毛片| 日韩高清中文字幕| 日韩精品人妻| 国产高清免费| 青青草原视频在线免费观看| 夜夜嗨av| 麻豆天美蜜桃91| 中文字幕-区二区三区四区视频中国| 日本一区二区视频在线观看| 激情丁香五月天| 91视频免费在线看| 日韩中文字幕久久| 国精品无码一区二区三区在线| 无码一区三区| 成年人激情网| 成人性爱网站| 99久久婷婷国产综合精品| 91青青| 亚洲高清超级无码在线视频观看| 免费AV在线| 无码专区中文字幕| www伦理片-韩国三级三级三级a三级-成人AV | 国产成人小视频在线观看| 中文字幕不卡一区| 久久亚洲热| 欧美美穴| 欧美插菊花综合网| 无码激情视频| 亚洲一级视频在线观看| 中文字幕黑人无码| 呦小BBBB小小BBBB| 日韩3级片| 97超碰大香蕉| 91爱在线| 欧美撸一撸| 亚洲AV成人精品一区二区三区| 日韩精品无码人妻| 中文字幕伊人| 牛牛精品一区| 亚洲人妻性爱| 永久免费视频| 91人妻人人澡人人爽人人玩| 人人看人人摸| 国产精品乱子伦视频一区二区| 成人一区二区三区四区五区| www.911国产| 国产美女精品视频| 亚洲va综合va国产va中文| 无码在线免费视频| 五月天婷婷综合网| 亚洲免费无码| 欧美性猛交XXXXⅩXX| 成人大香蕉| 山东熟妇搡BBBB搡BBBB| 成人h网站在线观看| 毛片91| 蜜柚Av| 久久国产成人| 国产成人V在线精品一区| 日韩免费网站| 日韩一区二区无码视频| www.啪啪| AV天天看| 色婷婷狠狠| 欧美九九九| 国产AV日韩| 久久不雅视频| 日韩精品成人av| 免费色片| 日韩在观看线| 国产三级在线观看| 91亚洲在线观看| 国产成人一区二区无码| 欧一美一婬一伦一区二区三区自慰,| 亚洲无码高清视频在线| 在线观看黄色电影| 精品人妻一二三区| 鸭子av| 欧美国产第一页| 69AV视频在线观看| 国产va在线观看| 欧美一级片| 亚洲中文字幕无码爆乳av| 精品91在线视频| 亚洲无码在线视频观看| 亚洲精品视频在线播放| 青青操在线视频| 日韩欧美性爱网站| 日韩人妻在线播放| 在线亚洲欧美| 日本AⅤ在线| 五月天激情午夜福利| 黄色视频在线观看大全| 大香蕉伊人综合网| 美女91视频网站| 午夜爽爽| 亚洲高清无码在线观看视频| 九九精品免费视频| 国产av不卡| 成人AAA| 国外成人在线视频老鸭窝| 国产三级图片| 日韩精品在线观看免费| 久草新在线| 中文字幕三级av片| 色欲一区二区三区| 国产午夜成人免费看片无遮挡| 四川乱子伦95视频国产| 国产激情久久| 人人草在线| 免费内射| 97在线国产| 在线免费看黄色| 久久w| 欧洲AV在线| 欧美一级黃色A片免费看小优视频 无码人妻精品一区二区三千菊电影 | 午夜无码三级| 国产天堂网| 成人视频网站在线观看18| 久久亚洲影视| 五月天婷婷激情视频| 天堂操逼| 免费高清无码| 免费av中文字幕| 牛牛精品一区二区| 国产精品你懂的| 欧美老妇日韩| 五月天黄色片| 99综合视频| 免费在线观看av| 69激情网| 亚洲日产专区| 亚洲www.| 日本高清视频www| 日韩AV中文字幕在线播放| www.天天射| 亚洲第一黄色| 亚洲乱码在线| 亚洲区在线| 精产国品一区二区区别| 嫩BBB槡BBBB槡BBB小号| 亚洲GV成人无码久久精品| 天堂在线中文字幕| 日韩无码中文字幕| 天天日天天综合| 欧一美一色一伦一A片| 123操逼| 草b网站| 中国老女人性爱视频| 亚洲v视频| 精品人妻一区二区乱码一区二区 | 亚洲精品久久久久久久久豆丁网 | 91无码人妻一区二区三区| 91大神精品| 久久99久久99| 国产一区二区av| 欧美日韩三级在线| 黄网站在线播放| 人人色人人爱| 四川BBB搡BBB爽爽爽欧美| 天天夜夜操操| 国产ts在线| AA片免费| 亚洲网站在线播放| 精品久久久久久久久久| 爱搞在线观看wwww| 天天天天天天天干| 中文字幕av无码| 中文字幕性| 久草免费在线观看视频| 自拍偷拍国产| 欧美在线观看一区二区| 大奶无码| 欧美性爱中文字幕| 亚洲最新AV在线| 欧美午夜黄片| wwwA片| 97在线免费| 杨门女将婬乱史1—6| 91视频在线看| 天天撸天天日| 干干日日| 日韩成人视屏| 国产精品久久免费| 中文字幕中文字幕| 国产高潮视频在线观看| 国产亚洲欧美精品综合在线|