精品欧美一区二区三区在线观看 _久久久久国色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)

在线视频 日韩| 国产亚洲欧美一区二区三区| 成人免费av片| 亚洲成人人体| 2014亚洲片线观看视频免费| 国产美女直播视频一区| 一区二区三区四区免费| 麻豆视频在线看| av在线播放一区二区三区| 国产精品成久久久久三级| 91人妻一区二区三区蜜臀| 日韩最新在线| 欧美一级一级性生活免费录像| 在线视频福利一区| 亚州视频一区二区三区| 日韩电影免费在线看| 国产亚洲精品va在线观看| 蜜臀av午夜一区二区三区| 日本一卡二卡四卡精品| 黄页网站大全一区二区| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品久久久免费观看| 欧美特黄色片| 色偷偷久久人人79超碰人人澡| www.-级毛片线天内射视视| 男人av在线| 成人免费三级在线| 国产69久久精品成人| 国产精品无码一区二区三区免费| 国产一区二区三区免费观看在线 | 成人毛片老司机大片| 性欧美长视频免费观看不卡| aa片在线观看视频在线播放| 欧洲精品99毛片免费高清观看| 亚洲一区自拍偷拍| 精品综合久久| 日韩一区二区三区不卡| 国产91丝袜在线播放| 91精品国产精品| 免费三片在线播放| 亚洲国产精品日韩专区av有中文| 一区二区三区视频免费在线观看| 亚洲天堂网一区二区| 精品国产午夜肉伦伦影院| 色av一区二区| 亚洲国产精品久久久久婷蜜芽| h片精品在线观看| 洋洋成人永久网站入口| 超碰10000| 超碰在线caoporn| 亚洲日本护士毛茸茸| 国产日韩在线一区二区三区| 性色av蜜臀av| 国产黄色精品视频| 亚洲最大福利网站| 国产熟女精品视频| 国产一区二区三区久久悠悠色av| 91a在线视频| 艳妇荡乳欲伦69影片| 97精品国产一区二区三区| www.日韩.com| 亚洲av无码国产精品久久| 欧美日韩大片免费观看| 亚洲精品电影网| 黄色录像a级片| 日韩精品一区二区三区中文字幕| 日韩一区二区三区四区| 精品人妻一区二区三区免费| 影音先锋欧美激情| 欧美日韩久久久久久| xxxx18hd亚洲hd捆绑| 免费a级毛片在线播放| 99精品视频一区二区| 国产精品综合网站| 国产男女无套免费网站| 日韩精品色哟哟| 欧美激情小视频| 日韩手机在线观看| 日韩和欧美一区二区| 国产精品十八以下禁看| av中文字幕播放| 美国十次了思思久久精品导航| 97久久久免费福利网址| 九九精品免费视频| 中文一区在线| 久久久久国产精品免费| 亚洲av无码一区二区三区在线| 亚洲欧美一区在线| 欧洲一区二区视频| 91久久精品无码一区二区| 福利一区二区在线| 日本高清久久一区二区三区| 五月婷婷六月丁香| 成人av网站在线观看| 日本在线观看一区| 黄色的视频在线免费观看| 97超碰欧美中文字幕| 亚洲人体一区| 亚洲免费视频一区二区三区| 国产日韩视频一区二区三区| 日本成人黄色| 女同一区二区免费aⅴ| 色婷婷亚洲一区二区三区| 男人操女人免费| 中文字幕不卡三区视频| 色综合久久88色综合天天| 丝袜老师办公室里做好紧好爽 | 91精品电影| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 丝袜美腿av在线| 亚洲伊人伊色伊影伊综合网| 免费大片在线观看| av在线亚洲色图| 欧美精品一区二区三区在线| 91禁男男在线观看| 91亚洲国产成人久久精品| 久久久久久尹人网香蕉| 91麻豆成人精品国产| 久久久夜色精品亚洲| 999一区二区三区| 日本一区二区三区中文字幕| 日韩午夜在线播放| 男人的天堂官网| 日韩激情图片| 欧美中文字幕视频| 亚洲免费黄色片| 亚洲日本一区二区| www在线观看免费| 久久夜夜操妹子| 欧美日韩黄色影视| 人人人妻人人澡人人爽欧美一区| 久久亚洲影视| 欧美激情一二区| 国产精品一区无码| 丁香六月综合激情| 免费成人在线观看av| 午夜视频在线观看网站| 亚洲最新视频在线观看| 日本wwww视频| 精品久久ai电影| 欧美国产日韩精品| 亚洲经典一区二区| 国产亚洲一区二区在线观看| 日本wwww视频| 中文字幕伦av一区二区邻居| 91精品国产高清久久久久久| 欧洲av在线播放| 中文字幕一区三区| 亚洲综合av在线播放| 99精品视频在线观看播放| 韩国精品久久久999| 丰满肥臀噗嗤啊x99av| 亚洲午夜久久久久久久久久久| 日本熟妇人妻中出| 精品久久网站| 久久免费视频这里只有精品| 六月婷婷中文字幕| 婷婷综合另类小说色区| 国产精品久久久久久久99| 希岛爱理一区二区三区| 91在线视频免费| 在线观看三级视频| 日韩精品最新网址| 日本熟妇一区二区| 国产精品夜夜嗨| 日韩精品在线视频免费观看| 精品国产影院| 欧美高清视频在线观看| 姝姝窝人体www聚色窝| 色婷婷综合中文久久一本| 日本黄色小视频在线观看| 国产精品美女久久久| 亚洲一区二区三区777| 午夜影院免费在线| 日韩电影网在线| 中文字幕免费在线看| 97国产一区二区| 性猛交ⅹ×××乱大交| 欧美暴力喷水在线| 91在线免费视频| av资源在线看片| 精品成a人在线观看| 黑鬼狂亚洲人videos| 久久国产人妖系列| 国产精品国产三级国产专区51| 欧美午夜18电影| 久久久久久久久久久亚洲| 国产高清视频免费| 高跟丝袜欧美一区| 国产精品18在线| 波多野结衣中文字幕一区| 麻豆传传媒久久久爱| 亚洲+小说+欧美+激情+另类 | 每日在线观看av| 国产探花一区在线观看| 99在线视频播放| 香蕉久久aⅴ一区二区三区| 91精品国产综合久久久久久久久久| 久久久久久天堂| 国产欧美一二三区| 国产精久久久久| 老司机免费视频一区二区| 国产3p露脸普通话对白| 日韩欧美一区二区三区免费看| 国产精品有限公司| rebdb初裸写真在线观看| 亚洲福利影片在线| 91丨porny丨在线中文| 精品日本美女福利在线观看| 国产精品三区在线观看| 久久精品视频免费观看| 日本www.色| 亚洲精品乱码| 国产四区在线观看| 欧美日韩在线二区| 噜噜噜噜噜久久久久久91| 一二区成人影院电影网| 午夜精品久久久99热福利| 麻豆av在线导航| 欧美变态tickling挠脚心| 中文字幕av无码一区二区三区| 精品福利免费观看| 中文字幕在线观看免费高清| 北条麻妃一区二区三区| 欧美一级黄色片视频| 韩日精品在线| 免费观看国产视频在线| 精品自拍偷拍| 1卡2卡3卡精品视频| 亚洲欧美专区| 国产在线日韩在线| 国产精品69xx| 国产亚洲精品久久久久久777| 人人妻人人澡人人爽久久av| 日韩美女天天操| 无码人妻丰满熟妇精品区| 亚洲高清三级视频| 久草资源在线视频| 一区二区三区四区在线播放| 永久久久久久久| 亚洲视频一区二区免费在线观看 | 亚洲免费在线看| 久久久午夜精品福利内容| 成人小视频免费观看| 成人中文字幕av| 亚洲人妖在线| www.日本在线播放| 亚洲精选91| 欧美网站免费观看| 91一区在线| 亚洲美女自拍偷拍| 美女毛片一区二区三区四区| 欧美日本国产精品| 6080成人| 成人精品久久久| 精品国产欧美| 99久久99久久| 9999精品| 99re在线观看| 高清欧美日韩| 欧美亚洲成人精品| av在线官网| 夜夜嗨av一区二区三区免费区| 人妻无码中文字幕| 亚洲第一天堂av| 超碰在线人人干| 亚洲成人av在线播放| 欧美91精品久久久久国产性生爱| 国产午夜精品一区二区三区| av在线日韩国产精品| 亚洲男人天堂九九视频| 亚洲成人av综合| 日韩精品免费视频| аⅴ资源新版在线天堂| 久久影视免费观看| 日本韩国在线视频爽| 久久这里只有精品99| av影片免费在线观看| 另类视频在线观看| www.youjizz.com在线| 欧美韩日一区二区| 中中文字幕av在线| 精品精品国产国产自在线| 免费电影视频在线看| 久久久精品久久久久| 黄网av在线| 欧美高清视频在线| 欧美黑人粗大| 青青草原成人在线视频| 精精国产xxxx视频在线野外 | www.日本在线播放| 日韩精品久久久久久| www.国产区| 国产久卡久卡久卡久卡视频精品| 91av在线免费| 国产精品久久精品日日| 在线观看精品国产| 欧美天堂在线观看| 4438国产精品一区二区| 91精品欧美一区二区三区综合在 | 欧美精品在线观看91| 一区二区三区短视频| 亚洲tv在线观看| 欧美h版在线观看| 日韩成人av电影在线| 欧美日韩在线二区| 人妻久久久一区二区三区| 亚洲一区二区成人| 波多野吉衣在线视频| 国产成人av影院| 国产在视频线精品视频| 精品久久久视频| av男人天堂网| 亚洲精品国产拍免费91在线| 色视频在线观看| 色综合色综合网色综合| 国产91欧美| 欧美一区免费视频| 亚洲麻豆av| av网站在线观看不卡| 国产999精品久久久久久绿帽| av片在线免费看| 色av成人天堂桃色av| 国产精品羞羞答答在线| 国产一区二区三区在线视频| 大菠萝精品导航| 国产福利久久| 欧美激情五月| 日本少妇激三级做爰在线| 99久久久免费精品国产一区二区| 欧美在线视频第一页| 香蕉影视欧美成人| 懂色av一区二区三区四区| 亚洲欧洲美洲在线综合| 国模精品视频| 国产女主播一区二区| 日本a级不卡| 欧洲精品视频在线| 美女91精品| 欧美性猛交xx| 国产欧美一区二区三区在线看蜜臀 | 亚洲精品视频91| 在线精品国产欧美| 国产黄色精品| 久久99精品久久久久久久青青日本| 欧美日韩中文一区二区| 免费看欧美一级片| 丁香天五香天堂综合| 国产无遮挡又黄又爽又色| 亚洲成人xxx| 麻豆视频网站在线观看| 成人日韩av在线| 欧美日韩亚洲一区| 色悠悠在线视频| 国产精品白丝在线| 国产精品无码在线播放| 欧美大片在线免费观看| 国产调教精品| 女人和拘做爰正片视频| 久久久99久久| 在线观看免费黄色小视频| 日韩av一区在线观看| 成人av三级| 狠狠爱一区二区三区| 久久久久亚洲| 岛国av免费观看| 精品女同一区二区三区在线播放| 青青草在线播放| 97视频免费在线观看| 精品国产亚洲日本| 亚洲精品在线观看免费| 亚洲综合国产| 亚洲欧美高清在线| 一区二区三区视频在线观看| 亚洲一卡二卡在线| 在线成人激情黄色| 久久sese| 久久久久资源| 日本vs亚洲vs韩国一区三区二区| 糖心vlog免费在线观看| 欧美色综合影院| 欧美性爽视频| 欧美极品一区二区| 国产一区二区按摩在线观看| 无码人妻精品中文字幕| 欧美日韩一二区| 精品亚洲免a| 久久亚洲私人国产精品va| 日韩欧美中文在线观看| 亚洲一区二区三区欧美| 日韩影院在线观看| 黄色一级片中国| 欧美一级日韩一级| 国产精品剧情一区二区在线观看| 99理论电影网| 国内精品福利| 美女100%露胸无遮挡| 欧美日韩亚洲综合一区二区三区| 国产日韩精品在线看| 1区1区3区4区产品乱码芒果精品|