精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

項(xiàng)目實(shí)踐 - Axios進(jìn)階封裝

開(kāi)發(fā) 項(xiàng)目管理
axios二次封裝:就是把大部分接口公共的參數(shù)配置提取出來(lái)統(tǒng)一進(jìn)行處理。

[[403088]]

 axios二次封裝解決了什么問(wèn)題?(項(xiàng)目常用)

axios二次封裝:就是把大部分接口公共的參數(shù)配置提取出來(lái)統(tǒng)一進(jìn)行處理。

1、代碼封裝,重用性高,減少代碼量,減低維護(hù)難度。

2、統(tǒng)一處理一些常規(guī)的問(wèn)題一勞永逸,如http錯(cuò)誤。

3、攔截請(qǐng)求和響應(yīng),提前對(duì)數(shù)據(jù)進(jìn)行處理,如獲取token,修改配置項(xiàng)。

Axios基礎(chǔ)配置- 實(shí)踐

1) 全局的 axios 默認(rèn)值

  1. axios.defaults.baseURL = 'https://api.example.com'
  2. axios.defaults.headers.common['Authorization'] = AUTH_TOKEN; 
  3. axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'

2) 自定義實(shí)例默認(rèn)值

  1. // 創(chuàng)建實(shí)例時(shí)設(shè)置配置的默認(rèn)值 
  2. var instance = axios.create({ 
  3.   baseURL: 'https://api.example.com' 
  4. }); 
  5.  
  6. // 在實(shí)例已創(chuàng)建后修改默認(rèn)值 
  7. instance.defaults.headers.common['Authorization'] = AUTH_TOKEN; 

3) 區(qū)分環(huán)境配置

  1. let env = "dev"
  2. switch (env) { 
  3.     case 'dev'
  4.         axios.defaults.baseURL = "http://127.0.0.1:8888"
  5.         break; 
  6.     case 'test'
  7.         axios.defaults.baseURL = "http://114.27.34.1:8888"
  8.         break; 
  9.     case 'pro'
  10.         axios.defaults.baseURL = "http://api.zhufeng.cn"
  11.         break; 

4) 數(shù)據(jù)格式配置

  1. axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'
  2. // axios.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded'
  3. // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
  4. axios.defaults.transformRequest = function (data, headers) { 
  5.     let ContentType = headers['Content-Type'] || headers.common['Content-Type'] || headers.post['Content-Type'] || 'application/json'
  6.  
  7.     if (ContentType === "application/json") { 
  8.         return JSON.stringify(data); 
  9.     } 
  10.  
  11.     if (ContentType === "application/x-www-form-urlencoded") { 
  12.         return Qs.stringify(data); 
  13.     } 
  14.     return data; 
  15. }; 

項(xiàng)目實(shí)踐-數(shù)據(jù)格式

  1. service.interceptors.request.use( 
  2.   (config) => { 
  3.     // 開(kāi)發(fā)環(huán)境引入包裝api 
  4.     config.url = `${BASE_URL}${config.url}`; 
  5.     config.headers['Cache-Control'] = 'no-cache,no-store,must-revalidate,max-age=-1,private'
  6.     // post請(qǐng)求并且需要將data以form data 形式傳給后端 需要傳一個(gè)formType為true boolean 
  7.     if (config.method === 'post' && config.formType === true) { 
  8.       config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
  9.       config.data = qs.stringify(config.data); 
  10.     } 
  11.     return config; 
  12.   }, 
  13.   (error) => { 
  14.     // Do something with request error 
  15.     Promise.reject(error); 
  16.   } 
  17. ); 

5) 攔截器

  1. // 添加請(qǐng)求攔截器 
  2. axios.interceptors.request.use(function (config) { 
  3.     // 在發(fā)送請(qǐng)求之前做些什么 
  4.     return config; 
  5. }, function (error) { 
  6.     // 對(duì)請(qǐng)求錯(cuò)誤做些什么 
  7.     return Promise.reject(error); 
  8. }); 
  9.  
  10. // 添加響應(yīng)攔截器 
  11. axios.interceptors.response.use(function (response) { 
  12.     // 對(duì)響應(yīng)數(shù)據(jù)做點(diǎn)什么 
  13.     return response; 
  14. }, function (error) { 
  15.     // 對(duì)響應(yīng)錯(cuò)誤做點(diǎn)什么 
  16.     return Promise.reject(error); 
  17. }); 

6) 響應(yīng)的錯(cuò)誤處理封裝

interceptor作用就是攔截,可以針對(duì)請(qǐng)求參數(shù)和響應(yīng)結(jié)果進(jìn)行攔截處理,一般在項(xiàng)目當(dāng)中,主要針對(duì)接口常規(guī)報(bào)錯(cuò)、網(wǎng)絡(luò)報(bào)錯(cuò)、系統(tǒng)超時(shí)、權(quán)限認(rèn)證等做攔截處理。

  1. axios.interceptors.response.use(function (response) { 
  2.     // 把獲取的響應(yīng)主體信息返回 
  3.     return response.data; 
  4. }, function (reason) { 
  5.     // 失敗:網(wǎng)絡(luò)、狀態(tài)碼(Axios失敗) 
  6.     let response = reason.response; 
  7.     if (response) { 
  8.         // 狀態(tài)碼不是2開(kāi)頭的 
  9.         switch (response.status) { 
  10.             //400 參數(shù) 
  11.             //401/403 Token 
  12.             //404 地址 
  13.             //500/503 服務(wù)器 
  14.         } 
  15.     } else { 
  16.         // 網(wǎng)絡(luò) / (超時(shí) / 中斷請(qǐng)求  -> code: "ECONNABORTED") ... 
  17.         if (reason && reason.code === "ECONNABORTED") {} 
  18.         if (!navigator.onLine) {} 
  19.     } 
  20.     return reason; 
  21. }); 

一般項(xiàng)目,這樣就沒(méi)問(wèn)題了,一套公共的參數(shù)配置。剩下都是請(qǐng)求的時(shí)候單獨(dú)再配置即可。

Axios配置- 原理與源碼

1) HTTP 攔截器的設(shè)計(jì)與實(shí)現(xiàn)

對(duì)于大多數(shù) SPA 應(yīng)用程序來(lái)說(shuō), 通常會(huì)使用 token 進(jìn)行用戶的身份認(rèn)證。這就要求在認(rèn)證通過(guò)后,我們需要在每個(gè)請(qǐng)求上都攜帶認(rèn)證信息。如果在考慮對(duì)響應(yīng)進(jìn)行統(tǒng)一處理的話,我們的 request 函數(shù)將變得越來(lái)越龐大,也越來(lái)越難維護(hù)。那么對(duì)于這個(gè)問(wèn)題,Axios 為我們提供了解決方案 —— 攔截器。

Axios 是一個(gè)基于 Promise 的 HTTP 客戶端,而 HTTP 協(xié)議是基于請(qǐng)求和響應(yīng):

所以 Axios 提供了請(qǐng)求攔截器和響應(yīng)攔截器來(lái)分別處理請(qǐng)求和響應(yīng)。

1) 請(qǐng)求攔截器:該類攔截器的作用是在請(qǐng)求發(fā)送前統(tǒng)一執(zhí)行某些操作,比如在請(qǐng)求頭中添加 token 字段。

2) 響應(yīng)攔截器:該類攔截器的作用是在接收到服務(wù)器響應(yīng)后統(tǒng)一執(zhí)行某些操作,比如發(fā)現(xiàn)響應(yīng)狀態(tài)碼為 401 時(shí),自動(dòng)跳轉(zhuǎn)到登錄頁(yè)。

2) 二次封裝配置代碼:(參考)

  1. import axios from 'axios'
  2. import qs from 'qs'
  3. /* 
  4.  * 根據(jù)環(huán)境變量區(qū)分接口的默認(rèn)地址  
  5. */ 
  6. switch (process.env.NODE_ENV) { 
  7.     case "production"
  8.         axios.defaults.baseURL = "http://api.zhufengpeixun.cn"
  9.         break; 
  10.     case "test"
  11.         axios.defaults.baseURL = "http://192.168.20.12:8080"
  12.         break; 
  13.     default
  14.         axios.defaults.baseURL = "http://127.0.0.1:3000"
  15.  
  16. /* 
  17.  * 設(shè)置超時(shí)時(shí)間和跨域是否允許攜帶憑證  
  18. */ 
  19. axios.defaults.timeout = 10000; 
  20. axios.defaults.withCredentials = true
  21.  
  22. /* 
  23.  * 設(shè)置請(qǐng)求傳遞數(shù)據(jù)的格式(看服務(wù)器要求什么格式) 
  24.  * x-www-form-urlencoded 
  25. */ 
  26. axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'
  27. axios.defaults.transformRequest = data => qs.stringify(data); 
  28.  
  29. /* 
  30.  * 設(shè)置請(qǐng)求攔截器  
  31.  * 客戶端發(fā)送請(qǐng)求 - > [請(qǐng)求攔截器] - > 服務(wù)器 
  32. * TOKEN校驗(yàn)(JWT):接收服務(wù)器返回的token,存儲(chǔ)到vuex/本地存儲(chǔ)中,每一次向服務(wù)器發(fā)請(qǐng)求,我們應(yīng)該把token帶上 
  33. */ 
  34. axios.interceptors.request.use(config => { 
  35.     // 攜帶上token 
  36.     let token = localStorage.getItem('token'); 
  37.     token && (config.headers.Authorization = token); 
  38.     return config; 
  39. }, error => { 
  40.    return Promise.reject(error); 
  41. }); 
  42.  
  43. /* 
  44.  * 響應(yīng)攔截器  
  45.  * 服務(wù)器返回信息  -> [攔截的統(tǒng)一處理] -> 客戶端JS獲取到信息 
  46. */ 
  47. axios.defaults.validateStatus = status => { 
  48.     // 自定義響應(yīng)成功的HTTP狀態(tài)碼 
  49.     return /^(2|3)\d{2}$/.test(status); 
  50. }; 
  51. axios.interceptors.response.use(response => { 
  52.     return response.data; 
  53. }, error => { 
  54.     let { 
  55.         response 
  56.     } = error; 
  57.     if (response) { 
  58.         //=>服務(wù)器最起碼返回結(jié)果了 
  59.         switch (response.status) { 
  60.             case 401: //=>權(quán)限 
  61.                 break; 
  62.             case 403: //=>服務(wù)器拒絕執(zhí)行(token過(guò)期) 
  63.                 break; 
  64.             case 404: //=>找不到頁(yè)面  
  65.                 break; 
  66.         } 
  67.     } else { 
  68.         //=>服務(wù)器連結(jié)果都沒(méi)有返回 
  69.         if (!window.navigator.onLine) { 
  70.             // 斷網(wǎng)處理:可以跳轉(zhuǎn)到斷網(wǎng)頁(yè)面 
  71.             return
  72.         } 
  73.         return Promise.reject(error); 
  74.     } 
  75. }); 
  76. export default axios; 

 【編輯推薦】

 

責(zé)任編輯:姜華 來(lái)源: 前端學(xué)苑
相關(guān)推薦

2022-04-22 10:51:45

TSaxios前端

2025-08-19 08:04:57

Spring部署腳本

2021-07-27 14:50:15

axiosHTTP前端

2023-10-07 14:25:14

2020-10-19 19:05:20

VueAxiosAPI

2020-07-17 19:55:50

Vue前端性能優(yōu)化

2019-11-24 23:39:01

漏洞管理漏洞風(fēng)險(xiǎn)

2020-05-06 09:25:10

微前端qiankun架構(gòu)

2019-11-22 15:27:07

技術(shù)漏洞管理網(wǎng)絡(luò)

2020-06-12 07:00:00

Web開(kāi)發(fā)項(xiàng)目

2017-08-08 10:01:20

項(xiàng)目管理敏捷實(shí)踐團(tuán)隊(duì)

2023-09-05 08:21:07

項(xiàng)目CICD場(chǎng)景

2017-04-28 10:57:52

IT信息化服務(wù)器云計(jì)算

2022-12-30 11:46:00

數(shù)據(jù)中臺(tái)

2021-03-02 08:00:00

項(xiàng)目管理組織工具

2023-08-28 07:28:41

項(xiàng)目領(lǐng)域?qū)?/a>充血模型

2022-09-28 12:39:46

axios攔截器

2024-04-18 09:20:43

PostgreSQL關(guān)系型數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)

2021-06-10 16:05:17

DevOpsGitLab極狐

2025-03-07 09:01:14

商品模塊接口項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

成人免费aaa| 国产精品国产三级国产专区53| 亚洲一区二区自偷自拍| 久久久久久一区二区三区四区别墅| 国产精品高清亚洲| 国产成人精品免费视频大全最热| 国产成人免费观看视频| 久久激情电影| 亚洲精品国产品国语在线| 无码人妻精品一区二区三区66| 日韩精品黄色| 99久久精品免费看国产| 国产精品免费看久久久香蕉| 欧美黄色免费在线观看| 精品国产成人| 欧美成人vps| jizz18女人| 一个人www视频在线免费观看| 国产精品国产三级国产专播品爱网 | 一区二区日本视频| 日韩中文字幕精品视频| 三级黄色片网站| 久久中文字幕一区二区| 91国产免费看| 99精品在线免费视频| 国产网站在线免费观看| 国产偷国产偷精品高清尤物| 99在线视频首页| 91美女精品网站| 久久久噜噜噜久久狠狠50岁| 欧美成在线视频| 国产午夜精品久久久久久久久| 久久影院资源站| 日韩欧美资源站| 国产三级生活片| 欧美影视资讯| 色婷婷av一区| av免费观看网| 超碰在线cao| 亚洲网友自拍偷拍| 懂色av一区二区三区四区五区| 九色在线观看| 久久精品视频在线看| 九九99玖玖| 欧美视频xxx| 国产91精品精华液一区二区三区 | 91黄色在线视频| 久久亚洲精品伦理| 欧美中文在线免费| 在线观看免费国产视频| 亚洲国产美女| 国模精品视频一区二区三区| 久久黄色小视频| 欧美精品色网| 欧美激情综合色| 久久99久久久| 在线播放精品| 97在线视频免费看| 少妇一级淫片免费放中国 | 狠狠做六月爱婷婷综合aⅴ | 免费a级在线播放| 国产精品素人视频| 伊人久久大香线蕉午夜av| aaa在线观看| 国产精品久久久久一区二区三区 | 日韩精品一区二区三区中文精品| 国内av免费观看| 日韩欧洲国产| 欧美精品一区在线观看| 日本xxx在线播放| 国内成人自拍| 久久视频精品在线| 免费中文字幕视频| 日韩午夜黄色| 国产精品看片资源| 精品人妻av一区二区三区| 成人一二三区视频| 欧美精品亚洲精品| 日本免费中文字幕在线| 一区二区三区日韩欧美| 国产h视频在线播放| 97久久网站| 日韩一级高清毛片| 中文字幕一区二区久久人妻网站| 国产欧美日韩视频在线| 久久香蕉频线观| 日韩人妻无码一区二区三区99| 久久婷婷麻豆| 91在线观看免费高清| 色婷婷视频在线| 中文字幕av一区二区三区高| 日本xxxxx18| 色老头在线一区二区三区| 欧美日本不卡视频| bl动漫在线观看| 午夜激情久久| 97香蕉久久超级碰碰高清版| 久久这里只有精品9| 国产精品一区二区x88av| 乱一区二区三区在线播放| 在线激情小视频| 午夜欧美2019年伦理| 亚洲美女爱爱视频| 亚洲欧美tv| 欧美夫妻性生活xx| 国产精品第6页| 成人av网址在线| 中文字幕在线亚洲三区| 午夜欧美激情| 日韩视频一区二区在线观看| 性欧美一区二区| 在线亚洲自拍| 91嫩草免费看| 99视频在线观看地址| 午夜精品福利在线| 日韩成人av免费| 中文字幕亚洲影视| 欧美极品美女视频网站在线观看免费| 九九热最新视频| xnxx国产精品| 欧美日韩在线一| 91精品国产乱码久久久竹菊| 久久精品小视频| 亚洲特级黄色片| 久久久久久久电影| 欧美一区二区中文字幕| 亚洲一区二区电影| 久久伊人色综合| 一级黄色a视频| 国产日韩精品一区二区三区在线| 国产极品尤物在线| 成人在线视频中文字幕| 欧美插天视频在线播放| 亚洲一区 中文字幕| 中文字幕av在线一区二区三区| 国产女女做受ⅹxx高潮| 日韩有码中文字幕在线| 国内精品伊人久久| 亚洲免费国产视频| 一区二区三区四区蜜桃 | 亚洲另类在线观看| 91亚洲精品久久久蜜桃| 精品少妇在线视频| 伦理一区二区三区| 5278欧美一区二区三区| 五月天婷婷视频| 欧美日韩国产丝袜美女| 中文字幕乱码在线| 亚洲精品日韩久久| 精品综合在线| 日韩精品99| 一区二区欧美日韩视频| 国产日韩久久久| 中文成人综合网| www.com黄色片| 99热国内精品| 97人人模人人爽人人少妇| 五月花成人网| 亚洲国产一区二区三区在线观看| 影音先锋亚洲天堂| 91色.com| 国产高清视频网站| 亚洲精品一二三区区别| 91手机在线播放| 多野结衣av一区| 亚洲视频一区二区| 97精品人妻一区二区三区香蕉 | 国产亚洲激情在线| 亚洲永久精品视频| 亚洲精品国产a久久久久久| 在线中文字日产幕| 亚洲综合99| 色噜噜狠狠一区二区三区| 欧美视频第一| 欧美精品第一页在线播放| 欧美xxx.com| 欧美巨大另类极品videosbest| 老妇女50岁三级| 99久久777色| 激情五月俺来也| 午夜久久美女| 欧美裸体网站| 国产aⅴ精品一区二区四区| 久久久免费观看视频| 国产综合视频一区二区三区免费| 欧美视频一区在线观看| 欧美成人精品激情在线视频| 91久色porny| 成人av毛片在线观看| 亚洲麻豆av| 一区二区在线观看网站| 精品五月天堂| 91精品视频网站| 在线中文字幕播放| 久久影院资源网| 欧美老女人性开放| 日韩欧美123| 波多野结衣mp4| 亚洲综合视频在线| 国产又黄又粗视频| 成人免费毛片a| 天天看片天天操| 性xx色xx综合久久久xx| 潘金莲一级淫片aaaaaa播放1| 无码少妇一区二区三区| 5g影院天天爽成人免费下载| 在线观看欧美日韩电影| 欧美精品在线看| 98在线视频| 精品视频在线观看日韩| www.色日本| 欧美日韩成人激情| 国产综合精品视频| 亚洲一区二区视频在线| 午夜成人亚洲理伦片在线观看| 99r国产精品| 中文字幕1区2区| 久久国产免费看| 国产自偷自偷免费一区| 亚洲精品视频啊美女在线直播| 中文字幕欧美人与畜| 国产在视频线精品视频www666| 精品无码久久久久国产| 日韩精品视频一区二区三区| 国产日韩精品电影| 成人免费av电影| 国产91精品在线播放| 日韩伦理在线一区| 8x海外华人永久免费日韩内陆视频| 成人免费高清| 久久久精品国产网站| 99reav在线| 最近更新的2019中文字幕| 毛片网站在线观看| 日韩电影免费在线观看中文字幕| 亚洲国产精品suv| 欧美一区二区三区在线观看视频 | 欧美成人一区二区三区片免费 | 影视一区二区三区| 欧洲精品在线视频| 亚洲黄色网址| 97色在线视频观看| 黄色视屏在线免费观看| 久久久久久久影院| h片在线观看下载| 欧美国产日本高清在线| 尤物yw193can在线观看| 欧美丰满老妇厨房牲生活 | 欧美一级视频在线观看| 激情影院在线| 国内精品国产三级国产在线专| 好吊日av在线| 91精品国产免费久久久久久 | 欧美日韩精品免费| 最近中文字幕av| 欧美日韩成人在线一区| 一区二区不卡视频在线观看| 制服丝袜国产精品| www.污视频| 亚洲精品按摩视频| 黄视频在线观看免费| 一区二区欧美日韩视频| 欧美另类极品| 久久97精品久久久久久久不卡| 欧美性爽视频| 日本视频久久久| 欧美成人aaa| 3d动漫精品啪啪一区二区三区免费 | 久久久水蜜桃av免费网站| 国产视频在线视频| 韩日欧美一区二区三区| 欧美一级大片免费看| 97se亚洲国产综合自在线| 一卡二卡三卡四卡| 国产精品福利一区二区三区| www.av视频| 一本大道久久a久久综合| 中文字幕第99页| 日韩视频在线永久播放| 深夜福利免费在线观看| 中国日韩欧美久久久久久久久| 麻豆传媒视频在线观看免费| 高清视频欧美一级| 中文.日本.精品| 97视频资源在线观看| 中文有码一区| 超级碰在线观看| 久久激情视频| 日本一区二区三区在线免费观看| 91偷拍与自偷拍精品| 最新黄色av网址| 天天色综合成人网| 91国内精品久久久| 日韩美女av在线| xvideos国产在线视频| 日本精品中文字幕| 欧美久久亚洲| 日韩久久不卡| 亚洲视频狠狠| 亚洲精品20p| 91社区在线播放| tube国产麻豆| 欧洲一区二区三区免费视频| 精品人妻一区二区三区浪潮在线| 亚洲免费视频观看| 久久国产精品黑丝| 成人免费看片视频| 国产欧美日韩| 久久视频这里有精品| 国产综合久久久久久鬼色| free性中国hd国语露脸| 亚洲综合一二三区| 97人妻精品一区二区三区| 亚洲视频在线观看视频| 污视频网站在线免费| 国产深夜精品福利| 欧美激情在线免费| 久久久999免费视频| 豆国产96在线|亚洲| 91香蕉视频在线播放| 日本国产一区二区| 五月天久久久久久| 久久久午夜视频| 日韩成人视屏| 伊人久久大香线蕉午夜av| 视频一区在线播放| 免费无码一区二区三区| 亚洲一二三专区| 精品国产av一区二区| 日韩在线观看免费网站| 亚洲成人短视频| 欧美综合激情| 男女精品网站| 黄色正能量网站| 岛国av一区二区三区| 欧美在线 | 亚洲| 欧美韩国理论所午夜片917电影| 国产电影一区| 国产在线拍揄自揄拍无码| 久久精品国产第一区二区三区| 欧美黄色一级生活片| 色婷婷av一区二区三区之一色屋| 日本中文字幕一区二区有码在线 | 激情六月天婷婷| 国产麻豆日韩欧美久久| 日韩在线观看免| 4438x成人网最大色成网站| 女女色综合影院| 亚洲a级在线观看| 欧美在线高清| 国产免费无码一区二区| 亚洲狠狠爱一区二区三区| 好吊色在线观看| 7777精品久久久久久| 亚洲丝袜美腿一区| www.xxx亚洲| 中文字幕精品—区二区四季| 综合久久中文字幕| 精品精品国产国产自在线| 国产精品毛片aⅴ一区二区三区| 经典三级在线视频| 国产·精品毛片| 亚洲影院在线播放| 中文字幕精品久久久久| 疯狂欧洲av久久成人av电影| 福利网在线观看| 成人免费毛片嘿嘿连载视频| 最新中文字幕一区| 中文字幕亚洲综合久久筱田步美| **精品中文字幕一区二区三区| 亚洲高潮无码久久| 91香蕉视频黄| 亚洲天堂网在线观看视频| 久久天天躁狠狠躁夜夜av| 国产成人夜色高潮福利影视| 无码人妻h动漫| 亚洲欧洲日产国码二区| 亚洲精品国产精品国| 欧美一区二区三区免费观看| 精品国产成人| 中文字幕无码毛片免费看| 黄色一区二区三区| 777电影在线观看| 动漫一区二区在线| 久久永久免费| 成人免费毛片东京热| 亚洲美女性视频| 国产一区二区三区精品在线观看 | 国产精品久久久久久久精| 亚洲精品国产免费| 欧美日韩伦理一区二区| 无码专区aaaaaa免费视频| 欧美激情一区二区三区在线| av一区二区三| 国产精品99久久99久久久二8| 欧美精品大片| 少妇的滋味中文字幕bd| 亚洲国产精品久久| 欧美高清你懂的| 国产高清精品在线观看|