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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

React Native工程中TSLint静态检查工具的探索之路

發布時間:2024/7/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 React Native工程中TSLint静态检查工具的探索之路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

建立的代碼規范沒人遵守,項目中遍地風格迥異的代碼,你會不會抓狂?

通過測試用例的程序還會出現Bug,而原因僅僅是自己犯下的低級錯誤,你會不會抓狂?

某種代碼寫法存在問題導致崩潰時,只能全工程檢查代碼,這需要人工花費大量時間Review代碼,你會不會抓狂?

以上這些問題,可以通過靜態檢查有效地緩解!

靜態檢查(Static Program Analysis)主要是以不運行程序的方式對于程序源代碼進行檢查分析的技術,而與之相反的就是動態檢查(Dynamic Program Analysis),通過實際運行程序輸入測試數據產生預期結果的技術。通過代碼靜態檢查,我們可以快速定位代碼的錯誤與缺陷,可以減少逐行閱讀代碼浪費的時間,可以(根據需要)快速掃描代碼中可能存在的漏洞等。代碼靜態檢查可以在代碼的規范性、安全性、可靠性、可維護性等方面起到重要作用。

在客戶端中,Android可以使用CheckStyle、Lint、Findbugs、PMD等工具,iOS可以使用Clang Static Analyzer、OCLint等工具。而在React Native的開發過程中,針對于JavaScript的ESLint,與TypeScript的TSLint,則成為了主要代碼靜態檢查的工具。本文將按照使用TSLint的原因、使用TSLint的方法、自定義TSLint的步驟進行探究分析。

一、使用TSLint的原因

在客戶端團隊進入React Native項目的開發過程中,面臨著如下問題:

  • 由于大家從客戶端轉入到React Native開發過程中,容易出現低級語法錯誤;
  • 開發者之前從事Android、iOS、前端等工作,因此代碼風格不同,導致項目代碼風格不統一;
  • 客戶端效果不一致,有可能Android端顯示正常、iOS端顯示異常,或者相反的情況出現。
  • 雖然以上問題可以通過多次不斷將雷點標記出,并不斷地分享經驗與強化代碼Review過程等方式來進行緩解,但是仍面臨著React Native開發者掌握的技術水平千差萬別,知識分享傳播的速度緩慢等問題,既導致了開發成本的不斷增加和開發效率持續低下的問題,還難以避免一個坑被踩了多次的情況出現。這時急需一款可以滿足以下目標的工具:

  • 可檢測代碼低級語法錯誤;
  • 規范項目代碼風格;
  • 根據需要可自定義檢查代碼的邏輯;
  • 工具使用者可以“傻瓜式”的接入部署到開發IDE環境;
  • 可以快速高效地將檢查工具最新檢查邏輯同步到開發IDE環境中;
  • 對于檢查出的問題可以快速定位。
  • 根據上述要求的描述,靜態檢查工具TSLint可以較為有效地達成目標。

    二、TSLint介紹

    TSLint是硅谷企業Palantir的一個項目,它是一款可以檢查TypeScript代碼可讀性、可維護性以及功能性錯誤的靜態檢查工具,當前許多編輯器(Editors)和構建系統(Build Systems)支持這一工具,同時支持自定義編寫Lint規則、配置、格式化等。

    當前TSLint已經包含了上百條規則,這些規則構筑了當前TSLint檢查的基礎。在代碼開發階段中,通過這些配置好的規則可以給工程一個完整的檢查,并隨時可以提示出可能存在的問題。本文內容參考了TSLint官方文檔https://palantir.github.io/tslint/。

    2.1 TSLint常見規則

    以下規則主要來源于TSLint規則,是某些規則的簡單介紹。

    2.2 常用TSLint規則包

    上述2.1所列出的規則來源于Palantir官方TSLint規則。實際還有多種,可能會用到的有以下:

    我們在項目的規則配置過程中,一般采用上述規則包其中一種或者若干種同時配置,那如何配置呢?請看下文。

    三、如何進行TSLint規則配置與檢查

    首先,在工程package.json文件中配置TSLint包:

    在根目錄中的tslint.json文件中可以根據需要配置已有規則,例如:

    其中extends數組內放置繼承的TSLint規則包,上圖包括了airbnb配置的規則包、tslint-react的規則包,而rules用于配置規則的開關。

    TSLint規則目前只有true和false的選項,這導致了結果要么正常,要么報錯ERROR,而不會出現WARNING等警告。

    有些時候,雖然配置某些規則開啟,但是某個文件內可能會關閉某些甚至全部規則檢查,這時候可以通過規則注釋來配置,如:

    /* tslint:disable */

    上述注釋表示本文件自此注釋所在行開始,以下的所有區域關閉TSLint規則檢查。

    /* tslint:enable */

    上述注釋表示本文件自此注釋所在行開始,以下的所有區域開啟TSLint規則檢查。

    /* tslint:disable:rule1 rule2 rule3... */

    上述注釋表示本文件自此注釋所在行開始,以下的所有區域關閉規則rule1 rule2 rule3…的檢查。

    /* tslint:enable:rule1 rule2 rule3... */

    上述注釋表示本文件自此注釋所在行開始,以下的所有區域開啟規則rule1 rule2 rule3…的檢查。

    // tslint:disable-next-line

    上述注釋表示此注釋所在行的下一行關閉TSLint規則檢查。

    someCode(); // tslint:disable-line

    上述注釋表示此注釋所在行關閉TSLint規則檢查。

    // tslint:disable-next-line:rule1 rule2 rule3...

    上述注釋表示此注釋所在行的下一行關閉規則rule1 rule2 rule3…的檢查檢查。

    以上配置信息,這里具體參考了https://palantir.github.io/tslint/usage/rule-flags/。

    3.1 本地檢查

    在完成工程配置后,需要下載所需要依賴包,要在工程所在根目錄使用npm install命令完成下載依賴包。

    IDE環境提示

    在完成下載依賴包后,IDE環境可以根據對應配置文件進行提示,可以實時地提示出存在問題代碼的錯誤信息,以VSCode為例:

    本地命令檢查

    VSCode目前還有繼續完善的空間,如果部分文件未在窗口打開的情況下,可能存在其中錯誤未提示出的情況,這時候,我們可以通過本地命令進行全工程的檢查,在React Native工程的根目錄下,通過以下命令行執行:

    tslint --project tsconfig.json --config tslint.json

    (此命令如果不正確運行,可在之前加入./node_modules/.bin/)即為:

    ./node_modules/.bin/tslint --project tsconfig.json --config tslint.json

    從而會提示出類似以下錯誤的信息:

    src/Components/test.ts[1, 7]: Class name must be in pascal case

    3.2 在線CI檢查

    本地進行代碼檢查的過程也會存在被人遺忘的可能性,通過技術的保障,可以避免人為遺忘,作為代碼提交的標準流程,通過CI檢查后再合并代碼,可以有效避免代碼錯誤的問題。CI系統可以為理解為一個云端的環境,環境配置與本地一致,在這種情況下,可以生成與本地一致的報告,在美團內部可以使用基于Jenkins的Castle CI系統, 生成結果與本地結果一致:

    3.3 其他方式

    代碼檢查不止局限上述階段,在代碼commit、pull request、打包等階段均可觸發。

    • 代碼commit階段,通過Hook方式可以觸發代碼檢查,可以有效地將在線CI檢查階段強制提前,基本保證了在線CI檢查的完全正確性。
    • 代碼pull request階段,通過在線CI檢查可以觸發代碼檢查,可以有效保證合入分支尤其是主分支的正確性。
    • 代碼打包階段,通過在線CI檢查可以觸發代碼檢查,可以有效保證打包代碼的正確性。

    四、自定義編寫TSLint規則

    4.1 為什么要自定義TSLint規則

    當前的TSLint規則雖然涵蓋了比較普遍問題的一些代碼檢查,但是實踐中還是存在一些問題的:

  • 團隊中的個性化需求難以滿足。例如,saga中的異步函數需要在最外層加try-catch,且catch塊中需要加異常上報,這個明顯在官方的TSLint規則無法實現,為此需要自定義的開發。
  • 官方規則的開啟與配置不符合當前團隊情況。
  • 基于以上原因其他團隊也有自定義TSLint的先例,例如上文提到的tslint-microsoft-contrib、tslint-eslint-rules等。

    4.2 自定義規則步驟

    那自定義TSLint大概需要什么步驟呢,首先規則文件根據規范進行按部就班的編寫規則信息,然后根據代碼檢查邏輯對語法樹進行分析并編寫邏輯代碼,這也是自定義規則的核心部分了,最后就是自定義規則的使用了。

    自定義規則的示例直接參考官方的規則是最直接的,我們能這里參考一個比較簡單的規則”class-name”。

    “class-name”規則上文已經提到,它的意思是對類命名進行規范,當團隊中類相關的命名不規范,會導致項目代碼風格不統一甚至其他出現的問題,而”class-name”規則可以有效解決這個問題。我們可以看下具體的源碼文件:https://github.com/palantir/tslint/blob/master/src/rules/classNameRule.ts。

    然后將分步對此自定義規則進行講解。

    第一步,文件命名

    規則命名必須是符合以下2個規則:

  • 駝峰命名。
  • 以’Rule’為后綴。
  • 第二步,類命名

    規則的類名是Rule,并且要繼承Lint.Rules.AbstractRule這個類型,當然也可能有繼承TypedRule這個類的時候,但是我們通過閱讀源碼發現,其實它也是繼承自Lint.Rules.AbstractRule這個類。

    第三步,填寫metadata信息

    metadata包含了配置參數,定義了規則的信息以及配置規則的定義。

    • ruleName 是規則名,使用烤串命名法,一般是將類名轉為烤串命名格式。
    • description 一個簡短的規則說明。
    • descriptionDetails 詳細的規則說明。
    • rationale 理論基礎。
    • options 配置參數形式,如果沒有可以配置為null。
    • optionExamples 參數范例 ,如沒有參數無需配置。
    • typescriptOnly true/false 是否只適用于TypeScript。
    • hasFix true/false 是否帶有修復方式。
    • requiresTypeInfo 是否需要類型信息。
    • optionsDescrition options的介紹。
    • type 規則的類型。

    規則類型有四種,分別為:”functionality”、”maintainability”、”style”、”typescript”。

    • functionality : 針對于語句問題以及功能問題。
    • maintainability:主要以代碼簡潔、可讀、可維護為目標的規則。
    • style:以維護代碼風格基本統一的規則。
    • typescript:針對于TypeScript進行提示。

    第四步,定義錯誤提示信息

    這個主要是在檢查出問題的時候進行提示的文字,并不局限于使用一個靜態變量的形式,但是大部分官方規則都是這么編寫,這里對此進行介紹,防止引起歧義。

    第五步,實現apply方法

    apply主要是進行靜態檢查的核心方法,通過返回applyWithFunction方法或者返回applyWithWalker來進行代碼檢查,其實applyWithFunction方法與applyWithWalker方法的主要區別在于applyWithWalker可以通過IWalker實現一個自定義的IWalker類,區別如下:

    其中實現IWalker的抽象類AbstractWalker里面也繼承了WalkContext,

    而這個WalkContext就是上面提到的applyWithFunction的內部實現類。

    第六步,語法樹解析

    無論是applyWithFunction方法還是applyWithWalker方法中的IWalker實現都傳入了sourceFile這個參數,這個相當于文件的根節點,然后通過ts.forEachChild方法遍歷整個語法樹節點。

    這里有兩個查看AST語法樹的工具:

    • AST Explorer: https://astexplorer.net/
      對應源碼: https://github.com/fkling/astexplorer
    • TypeScript AST Viewer: https://ts-ast-viewer.com/
      對應源碼: https://github.com/dsherret/ts-ast-viewer

    AST Explorer

    優點:

    在AST Explorer可以高亮顯示所選中代碼對應的AST語法樹信息。

    缺點:

  • 不能選擇對應版本的解析器,導致顯示的語法樹代碼版本固定。
  • 語法樹顯示的信息相對較少。
  • TypeScript AST Viewer

    優點:

  • 解析器對應版本可以動態選擇:
  • 語法樹顯示的信息不僅顯示對應的數字代碼,還可為對應的實際信息:
  • 每個版本對應對kind信息數值可能會變動,但是對應的枚舉名字是固定的,如下圖:

    從而這個工具可以避免頻繁根據其數值查找對應信息。

    缺點: 不能高亮顯示代碼對應的AST語法樹區域,定位效率較低。

    綜上,通過同時使用上述兩個工具定位分析,可以有效地提高分析效率。

    第七步,檢查規則代碼編寫

    通過ts.forEachChild方法對于語法樹所有的節點進行遍歷,在遍歷的方法里可以實現自己的邏輯,其中節點的類為ts.Node:

    其中kind為當前節點的類型,當然Node是所有節點的基類,它的實現還包括Statement、Expression、Declaration等,回到開頭這個”class-name”規則,我們的所有聲明類主要是class與interface關鍵字,分別對應ClassExpression、ClassDeclaration、InterfaceDeclaration, 我們可以通過上步提到的AST語法樹工具,在語法樹中看到其為一一對應的。

    在規則代碼中主要通過isClassLikeDeclaration、isInterfaceDeclaration這兩個方法進行判斷的。

    其中isClassLikeDeclaration、isInterfaceDeclaration對應的方法我們可以在node.js文件中找到:

    判斷是對應的類型時,調用addFailureAtNode方法把錯誤信息和節點傳入,當然還可以調用addFailureAt、addFailure方法。

    最終這個規則編寫結束了,有一點再次強調下,因為每個版本所對應的類型代碼可能不相同,當判斷kind的時候,一定不要直接使用各個類型對應的數字。

    第八步,規則配置使用

    完成規則代碼后,是ts后綴的文件,而ts規則文件實際還是要用js文件,這時候我們需要用命令將ts轉化為js文件:

    tsc ./src/*.ts --outDir dist

    將ts規則生成到dist文件夾(這個文件夾命名用戶自定),然后在tslint.json文件中配置生成的規則文件即可。

    之后在項目的根目錄里面,使用以下命令既可進行檢查:

    tslint --project tsconfig.json --config tslint.json

    同時為了未來新增規則以及規則配置的更好的操作性,建議可以封裝到自己的規則包,以便與規則的管理與傳播。

    總結

    TSLint的優點:

  • 速度快。相對于動態代碼檢查,檢查速度較快,現有項目無論是在本地檢查,還是在CI檢查,對于由十余個頁面組成的React Native工程,可以在1到2分鐘內完成;
  • 靈活。通過配置規則,可以有效地避免常見代碼錯誤與潛在的Bug;
  • 易擴展。通過編寫配置自定義規則,可以及時準確快速查找出代碼中特定風險點。
  • TSLint缺點:

  • 規則的結果只有對與錯兩種等級結果,沒有警告等級的的提示結果;
  • 無法直接報告規則報錯數量,只能依賴其他手段統計;
  • TSLint規則針對于當前單一文件可以有效地通過語法樹進行分析判定,但對于引用到的其他文件中的變量、類、方法等,則難以通過AST語法樹進行判定。
  • 使用結果及分析

    在美團,有十余個頁面的單個工程首次接入TSLint后,檢查出的問題有近百條。但是由于開啟的規則不同,配置規則包的差異,檢查后的數量可能為幾十條到幾千條甚至更多。現在已開發十余條自定義規則,在單個工程內,處理優化了數百處可能存在問題的代碼。最終TSLint接入了相關React Native開發團隊,成為了代碼提交階段的必要步驟。

    通過團隊內部的驗證,文章開頭遇到的問題得到了有效地緩解,目標基本達到預期。TSLint在React Native開發過程中既保證了代碼風格的統一,又保證了React Native開發人員的開發質量,避免了許多低級錯誤,有效地節省了問題排查和人員溝通的成本。

    同時利用自定義規則,能夠將一些兼容性問題在內的個性化問題進行總結與預防,提高了開發效率,不用花費大量時間查找問題代碼,又避免了在一個問題上跌倒多次的情況出現。對于不同經驗的開發者而言,不僅可以進行友好的提示,也可以幫助快速地定位問題,將一個人遇到的經驗教訓,用極低的成本擴散到其他團隊之中,將開發狀態從“亡羊補牢”進化到“防患未然”。

    作者簡介

    家正,美團點評Android高級工程師。2017 年加入美團點評,負責美團大交通的業務開發。

    總結

    以上是生活随笔為你收集整理的React Native工程中TSLint静态检查工具的探索之路的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    久久综合影院 | 久久精品黄 | 亚洲精品www| 人人射网站 | 麻豆国产精品一区二区三区 | 在线播放亚洲激情 | 日本特黄特色aaa大片免费 | 久久女同性恋中文字幕 | 人人干天天干 | 激情五月婷婷综合 | 成人av视屏 | 在线视频一二三 | 国产成人综合在线观看 | 手机在线中文字幕 | 国产精品久久久久久久久久久不卡 | 国产精品久久久久久久久久久久午 | 久久精品视频观看 | 精品久久久久久久久久岛国gif | 在线观看av免费 | 久久视频精品在线 | 深爱激情五月综合 | 亚洲精品欧美精品 | www日韩高清| 在线观看第一页 | 在线观看免费成人 | 久久9视频 | 欧美一区免费观看 | 91色国产在线 | 亚洲精品乱码久久久久久高潮 | 国产成人精品一区二区三区网站观看 | 综合在线观看色 | 亚洲四虎在线 | 97超碰国产精品女人人人爽 | 一区二区三区四区五区六区 | 国产精品毛片久久久久久 | 天天操夜夜操夜夜操 | 亚洲男男gaygay无套 | av在线免费网站 | 91爱爱电影 | 人人草人人草 | 911香蕉| 久久免费视屏 | 精品久久在线 | 99视频99| 久久天堂影院 | 黄色看片 | 日韩精品久久中文字幕 | 日日干 天天干 | 六月激情网 | 日韩在线理论 | 黄色的视频网站 | 亚洲欧洲久久久 | 色综合久久中文字幕综合网 | 韩国av一区二区三区 | 国产黄色视 | 99精品欧美一区二区三区黑人哦 | 91精选在线 | 国产日本在线观看 | 免费人成在线观看 | 欧美国产一区二区 | 日韩色在线观看 | 日韩三级.com| 国产一级特黄毛片在线毛片 | 国产精品久久久久久麻豆一区 | 高清av免费观看 | 在线导航福利 | 综合网婷婷 | 精品亚洲欧美一区 | 免费视频你懂得 | 91成人网页版 | 九九有精品 | 日韩在线视频线视频免费网站 | 91av资源在线 | 夜夜操狠狠干 | 黄色一级在线视频 | 午夜在线免费观看视频 | 蜜桃av综合网 | 蜜臀久久99静品久久久久久 | 网站你懂的 | 亚洲在线免费视频 | 久久精品老司机 | 最近最新最好看中文视频 | 日韩欧美综合精品 | 欧美成人在线免费 | 国产成人免费观看 | 成人丁香花 | 激情影院在线观看 | 精品久久久免费视频 | 6699私人影院 | 在线之家官网 | 国产精品免费麻豆入口 | 亚洲精品日韩在线观看 | 亚洲精品中文在线 | 96亚洲精品久久久蜜桃 | 激情中文字幕 | 中文字幕一区二区三区在线播放 | 综合精品久久 | 日韩网站一区 | 日韩成人一级大片 | 日韩日韩日韩日韩 | 日本久久成人 | 欧美激情精品 | 国产精品久久久久久999 | 久久国产精品一区二区三区 | 香蕉久草 | 亚洲欧美日韩在线一区二区 | 九九99 | 丁香婷婷久久久综合精品国产 | 99精品成人| 在线观看亚洲免费视频 | 欧美色综合天天久久综合精品 | 免费日p视频 | avlulu久久精品 | 久久精品视频网站 | www.超碰 | 亚洲精品国产精品国自产 | 成人小视频在线观看免费 | 97**国产露脸精品国产 | 一区二区三区免费在线观看 | 国产精品成人一区二区三区 | 日韩欧美一区二区三区视频 | 亚洲天堂在线观看完整版 | 99精品在线观看视频 | 久久精品中文 | 在线观看亚洲精品视频 | 999视频网站| 国产手机视频在线观看 | 久久久久久久亚洲精品 | 国产一区二区在线免费观看 | 久久亚洲婷婷 | 中文字幕精品三级久久久 | 精品中文字幕在线 | 久久爱影视i| 日韩a级免费视频 | 91av视频播放 | 丁香六月婷婷开心 | 99热99re6国产在线播放 | 国产精品不卡视频 | 亚洲国产综合在线 | 伊人婷婷激情 | 成人小视频在线观看免费 | 久久久国产精品一区二区三区 | 麻豆传媒在线视频 | 成人在线播放av | 欧美日韩三区二区 | 国产精品久久久久久一区二区三区 | 高清一区二区三区 | 中文字幕在线成人 | 日韩高清在线一区二区 | 日韩小视频网站 | 九九av| 伊人久久av | 91视频在线免费 | 亚洲国产日韩精品 | 亚洲高清视频在线观看 | 高清久久久久久 | 免费一级黄色 | 国产精品99久久久久久大便 | 国产 欧美 日本 | 中文字幕免费高清av | 久草网免费 | 人人澡人人舔 | 欧美成人理伦片 | 99免费在线 | 国产午夜精品福利视频 | 久久成人国产精品一区二区 | 免费在线观看一级片 | 久久6精品 | 一区二区国产精品 | 国产精品欧美久久 | 激情伊人五月天久久综合 | 久久艹在线观看 | 日韩一区二区三区高清在线观看 | 午夜三级大片 | 国产69久久精品成人看 | 日韩免费看 | 中文字幕在线观看亚洲 | 在线观看一区 | 五月激情婷婷丁香 | 91网站在线视频 | 99r在线| 国产精品对白一区二区三区 | 五月天欧美精品 | 日韩激情小视频 | 日韩91av| 激情视频二区 | 欧美精品久久人人躁人人爽 | 九九热久久免费视频 | 天天插天天狠天天透 | 色综合天天综合网国产成人网 | 国产理论免费 | 美女久久久久久久久久久 | 97国产超碰在线 | 91中文字幕 | 奇米影视四色8888 | 国产免费又黄又爽 | 色多多视频在线观看 | 国产精品69久久久久 | 日韩av片在线| 日韩三级免费 | 亚洲五月婷婷 | 日韩二区精品 | 国产成人一区二区啪在线观看 | 亚洲天堂网在线观看视频 | 在线观看91精品国产网站 | 又粗又长又大又爽又黄少妇毛片 | 成人黄色在线观看视频 | 久久精品免费播放 | 中文字幕激情 | 在线观看视频三级 | 在线成人免费 | www.精选视频.com| 久久热亚洲 | 胖bbbb搡bbbb擦bbbb | 天天躁天天躁天天躁婷 | 九九导航 | 在线播放国产精品 | 精精国产xxxx视频在线播放 | 日韩久久精品一区二区三区下载 | 日韩视频免费在线 | 亚洲成人精品久久 | 国内精品久久久久影院一蜜桃 | www.天天草| 日韩av男人的天堂 | 久久国产精品精品国产色婷婷 | 欧美日韩精品在线视频 | 91在线看网站 | 国内精品久久久久久久久久久久 | 91精品啪 | 日本巨乳在线 | 国产精品毛片一区二区三区 | 亚洲欧美成人 | 欧美成人h版在线观看 | 国产亚洲精品久久19p | 91久久黄色| 欧美激情片在线观看 | 国产亚洲91| 日韩精品不卡在线观看 | 日韩一级精品 | 婷婷在线免费视频 | 黄色com | 国产精久久 | 成人羞羞视频在线观看免费 | 婷婷伊人网 | 九九热只有精品 | 精品五月天 | 91一区在线观看 | 91香蕉视频 | 91高清一区 | 黄网站色成年免费观看 | 在线有码中文字幕 | 亚洲欧美在线综合 | 久久久高清 | 成人蜜桃网 | 久久成年人 | 日韩天堂在线观看 | 88av视频| 一二三精品视频 | 国产91影视 | 国产精品亚州 | 天天射日| 五月天婷婷丁香花 | 国产尤物视频在线 | 久久精品国产v日韩v亚洲 | 国产精品热视频 | 最近最新中文字幕视频 | 超碰在线个人 | 狠狠五月天 | 欧美久久久一区二区三区 | 午夜精品99久久免费 | 伊人春色电影网 | 欧美精品v国产精品 | 三级在线播放视频 | 中文字幕你懂的 | 国产又粗又硬又长又爽的视频 | 亚洲精品乱码白浆高清久久久久久 | 91久久偷偷做嫩草影院 | 久久免费成人精品视频 | 欧美激情精品一区 | 黄色网在线播放 | 97成人精品视频在线播放 | 午夜视频免费 | 欧美日韩天堂 | 九九九在线观看 | 在线av资源 | 国产亚洲日 | 国产精品久久一区二区无卡 | 91视频久久久久 | av色影院| 欧美无极色 | 午夜精品久久久久久久99 | 久久免费精品一区二区三区 | 国产日韩欧美在线播放 | 日韩精品1区2区 | 久久精品久久久久 | 四虎永久免费网站 | 国产在线无 | 久久综合狠狠 | 国产精品精品国产婷婷这里av | 亚洲一区久久 | 婷婷色在线视频 | 激情欧美一区二区三区免费看 | 在线观看完整版 | 国产福利不卡视频 | 久久99精品国产一区二区三区 | 蜜桃av综合网 | 国产高清成人av | 黄色h在线观看 | 在线免费视频你懂的 | 亚洲九九九在线观看 | 国产亚洲情侣一区二区无 | 成人夜晚看av | a色视频| 久久久久综合视频 | 亚洲乱亚洲乱妇 | 国产麻豆果冻传媒在线观看 | 国语黄色片 | 狠狠色丁香婷婷综合久久片 | 亚洲欧美少妇 | 国产高清在线永久 | 98福利在线| 午夜 免费 | 国际精品久久 | 欧美视频一区二 | 91亚洲精品久久久蜜桃借种 | 国产一区二区精品久久91 | 免费能看的av | 久久久久久久影院 | 欧美日韩精品国产 | 99久久久国产精品美女 | 亚洲精品88欧美一区二区 | 国产69精品久久久久9999apgf | 丁香综合五月 | 欧美日韩精品免费观看 | 四虎永久精品在线 | 黄色电影网站在线观看 | 欧美成年人在线视频 | 精品av在线播放 | 色多视频在线观看 | 亚洲精选99| 日本精品一区二区在线观看 | 亚洲精品动漫久久久久 | 成人av免费电影 | 免费看国产一级片 | 久久久国产精品电影 | 欧美精品在线观看 | 国产日韩一区在线 | 怡红院av久久久久久久 | 亚洲精品9 | 天天干婷婷 | 精品一区二区免费 | 亚洲一区精品人人爽人人躁 | 久久激情精品 | 9999精品视频 | 五月开心六月伊人色婷婷 | 亚洲精品综合一二三区在线观看 | 在线免费观看一区二区三区 | 一区二区三区影院 | 天天综合导航 | 久久综合婷婷综合 | 久久久久久久久久久免费av | 亚洲欧美国产精品va在线观看 | 91精品黄色| 国产在线自 | 97av影院 | 久久精品99 | 夜夜高潮夜夜爽国产伦精品 | 五月婷在线视频 | 美女国产免费 | 国产极品尤物在线 | 麻豆91精品91久久久 | 久久伊人国产精品 | 99精品在线直播 | 亚洲天天在线日亚洲洲精 | 久久伊人八月婷婷综合激情 | 成年人免费观看在线视频 | 最近日本字幕mv免费观看在线 | 亚洲va韩国va欧美va精四季 | 成人av中文字幕在线观看 | 99在线视频免费观看 | 992tv在线观看 | 亚洲伦理一区二区 | 欧美日韩二区三区 | 91在线视频免费观看 | 国产精品理论视频 | 狠狠躁夜夜a产精品视频 | 黄色成人av在线 | 婷婷精品视频 | 91香蕉视频黄 | 免费成人av在线看 | 久久久久久高潮国产精品视 | 午夜国产福利在线 | av在线com| av片在线观看 | 亚洲成人资源在线观看 | 韩日成人av| 免费观看完整版无人区 | 日韩成人欧美 | www.狠狠 | 精品国产黄色片 | 精品电影一区二区 | 欧美人交a欧美精品 | 91精品999| 亚洲国产视频网站 | 久久在线免费视频 | 69国产盗摄一区二区三区五区 | 日韩成人在线免费观看 | 亚洲视频 中文字幕 | 亚洲精品18日本一区app | 精品久久久久久亚洲综合网站 | 热久久免费视频精品 | 日韩在线欧美在线 | 天天操天天干天天插 | 99精品免费久久久久久日本 | 精品视频免费播放 | 久久综合狠狠综合久久综合88 | 999视频网站 | 视频一区在线免费观看 | 久久久免费| 99免费国产 | 99久久精品网 | 中文字幕一二三区 | 天天艹天天爽 | 免费观看黄 | 欧美日韩在线视频一区二区 | 永久免费视频国产 | 91麻豆文化传媒在线观看 | 亚洲精品在线免费播放 | 久久久久观看 | 国产97在线视频 | 午夜久久久影院 | www.午夜| 国产高清视频免费在线观看 | 日韩亚洲精品电影 | 久久亚洲在线 | 在线观看av不卡 | 久久国产精品网站 | 日韩理论片中文字幕 | 天天操夜夜叫 | 亚洲 欧美 国产 va在线影院 | 免费亚洲视频 | 久久观看| 国产成人区 | 人人草在线视频 | 国产精品午夜在线 | www91在线观看 | 精品国产一区二区三区久久久蜜臀 | 欧美日韩另类视频 | 亚洲伦理中文字幕 | 97超碰成人 | 97视频免费播放 | 日韩专区一区二区 | 中国黄色一级大片 | 国产精品日韩在线 | 国产18精品乱码免费看 | 国模一区二区三区四区 | 黄色一二级片 | 精品亚洲视频在线 | 日韩精品视频免费专区在线播放 | 狠狠色丁香久久综合网 | 日韩一级成人av | 久久不射电影院 | 91成人看片 | 99久久精品免费一区 | 日韩视频二区 | 在线视频区 | 欧美一进一出抽搐大尺度视频 | 三级黄免费看 | 久久调教视频 | 日韩久久久久久久久久久久 | 中文字幕欧美日韩va免费视频 | 欧女人精69xxxxxx | 中文十次啦 | 456免费视频 | 国产一级一级国产 | 中文字幕国产一区二区 | 丁香综合av | 午夜在线观看 | 九九久久精品 | 久久免费视频在线观看6 | 99久久这里只有精品 | 日韩欧美在线视频一区二区 | 中文字幕一区二区三区久久 | 伊人天堂网 | 在线中文字母电影观看 | 久久久午夜精品福利内容 | 国产成人久久久77777 | 黄色福利网 | 99色在线 | 成人h在线观看 | 久久久精品一区二区 | 久久深夜 | 久久这里只有精品视频99 | 亚洲欧美经典 | 亚洲黄色一级电影 | 一区二区三区精品久久久 | 亚洲成人精品在线 | www.久热| 亚洲国产精品视频 | 久久久久久久电影 | 久久久久亚洲精品国产 | 香蕉久久久久久久 | 亚洲天堂毛片 | 久久久久久久久久久久国产精品 | 亚洲国产视频a | 欧美日韩18| 操处女逼 | 97看片网| 免费婷婷| av在线播放一区二区三区 | 黄色免费观看 | 国产精品九九热 | 色综合婷婷久久 | 中文字幕高清av | 三级av免费看 | 黄色不卡av| 国产亚洲精品久 | 五月婷久久 | 伊人伊成久久人综合网站 | 精品九九九 | 久久国产美女视频 | 一区二区三区国产欧美 | 九色视频网站 | 麻豆高清免费国产一区 | 色婷婷一区 | 日韩激情视频在线观看 | 日韩精品亚洲专区在线观看 | 日韩中文字幕国产 | 色吊丝在线永久观看最新版本 | 精品91在线 | 91干干干 | 免费黄色网址大全 | 亚洲精品字幕 | 成人av在线播放网站 | 日韩中字在线 | 99久久精品免费看国产四区 | 天天插天天操天天干 | 精品99在线视频 | 天天操夜夜做 | 婷婷久月 | 五月婷婷丁香六月 | 国产精品丝袜久久久久久久不卡 | 成人免费观看在线视频 | 亚洲精品在线观看免费 | 日韩电影久久 | 另类老妇性bbwbbw高清 | 狠狠狠狠狠狠天天爱 | 992tv在线观看网站 | 人人爽人人射 | 五月婷婷六月丁香在线观看 | 一区二区三区免费 | 国产午夜精品免费一区二区三区视频 | 日本色小说视频 | 国模一二三区 | 国产99久久久国产精品免费二区 | 高清av中文字幕 | 天海翼一区二区三区免费 | 伊人永久在线 | 欧美另类69 | 欧美日韩伦理在线 | 精品久久综合 | 久久精品一区二 | 久草精品资源 | 国产男女爽爽爽免费视频 | 亚洲电影影音先锋 | 午夜国产一区 | 天天爱天天插 | 黄网在线免费观看 | 精品v亚洲v欧美v高清v | 国产 一区二区三区 在线 | 在线黄色国产电影 | 国产一卡二卡在线 | 久久午夜色播影院免费高清 | 久久综合九色综合欧美就去吻 | 91亚洲精品乱码久久久久久蜜桃 | 狠狠狠色丁香婷婷综合久久五月 | 国产剧情一区在线 | 午夜精品久久久久99热app | 欧美激情另类文学 | 日韩电影在线观看一区二区 | 四虎影视成人精品 | 亚洲一二三久久 | 韩国av电影网 | 97国产视频 | 欧美日韩高清一区二区 国产亚洲免费看 | 久久99国产精品久久 | 精品成人a区在线观看 | 99麻豆久久久国产精品免费 | 在线国产激情视频 | 人成在线免费视频 | 久久免费视频网站 | 欧美性免费 | 免费日韩三级 | 免费黄色a网站 | 国内精品亚洲 | 91在线日韩 | 久草在线免费电影 | 999成人免费视频 | 福利网在线 | 日韩高清免费在线观看 | 中文字幕 第二区 | 亚洲高清在线观看视频 | 九九热免费视频在线观看 | 欧美人体xx | 六月丁香伊人 | 国产高清日韩 | 丁香在线观看完整电影视频 | 成年一级片 | 久久久久久久久久福利 | www.888av| 日韩两性视频 | 国产黄色成人 | 成人av资源网站 | 天天插视频 | 午夜免费电影院 | 国内成人精品2018免费看 | 日韩精品第一区 | 成人午夜电影在线播放 | 国产精品成人久久久 | 在线免费观看黄 | 韩日精品中文字幕 | 精品久久久久久一区二区里番 | 国产在线传媒 | 国产精品久久久久久久久久久久午夜 | 成人午夜网址 | 最新av在线播放 | 免费男女网站 | 国产精品99久久久久久宅男 | 五月天网站在线 | 国产精品免费久久久久久久久久中文 | 欧美巨大荫蒂茸毛毛人妖 | 亚洲永久精品一区 | 精品国产一区二区三区不卡 | 久久综合网色—综合色88 | 久久丁香 | 日本中文字幕在线一区 | 91九色在线 | 最近中文字幕第一页 | 一本一道久久a久久综合蜜桃 | 国产精品免费观看国产网曝瓜 | 日韩欧美一区二区在线 | 天天干天天操 | 久久露脸国产精品 | 久久女教师 | 综合婷婷丁香 | 男女视频国产 | 91污视频在线 | a在线观看视频 | www.av在线.com| 久久狠狠婷婷 | 日韩在线一区二区免费 | 亚洲伦理中文字幕 | 国产一级视频在线观看 | 国产小视频在线免费观看 | 九九久久免费 | 久久久这里有精品 | 国产精品久久久av | 五月天激情视频 | 精品专区一区二区 | 日女人电影 | 天天爽天天爽天天爽 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 欧美色久| 日韩一区在线播放 | 精品国产一区二区三区不卡 | 国产第一页在线观看 | av国产网站 | 美女免费电影 | 欧美性生活小视频 | 天天干天天干天天干 | 免费观看性生活大片 | 成人永久视频 | 国产精品资源在线 | 国产精品人人做人人爽人人添 | 91看片成人| japanesexxxxfreehd乱熟 | 99热国产在线 | 久久久久久久久黄色 | 精品在线99 | 黄色一级免费 | 国产黄色片一级三级 | 天天性天天草 | 在线日韩中文字幕 | 伊人影院得得 | 久久成人一区二区 | 成人免费看片98欧美 | 国产精品女人久久久久久 | 超碰在线日韩 | 97网| 精品久久久久久亚洲 | www.狠狠| 国产成人精品免费在线观看 | 国产在线不卡视频 | 中文字幕一区二区三区四区 | 日韩在线二区 | 久久你懂的 | 日韩在线中文字幕视频 | 婷婷激情综合网 | 99久久毛片| 热re99久久精品国产66热 | 久久99精品国产 | 国产在线观看av | 国产亚洲aⅴaaaaaa毛片 | 99在线免费观看视频 | 国产专区在线视频 | 日韩免费在线视频观看 | 在线成人免费电影 | 久久国产成人午夜av影院潦草 | 日本精品一区二区三区在线观看 | 91试看| 五月天久久综合 | 午夜影院一区 | 日韩免费一区二区 | 成人免费91 | 日韩精品欧美精品 | 99精品视频在线观看 | 日韩另类在线 | 亚洲五月| 99视频偷窥在线精品国自产拍 | 亚洲精品久久久久999中文字幕 | 91亚洲永久精品 | 黄色毛片网站在线观看 | 国产在线a| 精品国产一区二区三区噜噜噜 | 久久电影中文字幕视频 | 国产精品视频观看 | 91九色精品女同系列 | 在线观看日韩中文字幕 | 天天操天天射天天插 | 一区二区三区中文字幕在线 | 99精品国产一区二区三区不卡 | 欧美日产一区 | 色资源中文字幕 | 国产精品专区在线 | 欧美日韩国产精品爽爽 | 久久免费视频4 | 日日夜夜操操操操 | 色黄久久久久久 | 国产99re| 美女免费电影 | 娇妻呻吟一区二区三区 | 成人欧美日韩国产 | 美女很黄免费网站 | 成人黄视频 | 国产精品第一视频 | 精品久久精品久久 | 亚洲人成免费网站 | 国产视频久久久 | 久久久久久久国产精品 | 亚洲综合视频在线观看 | 午夜精品久久久久久久99无限制 | 久久久免费在线观看 | 色婷婷亚洲综合 | 久久综合九色综合网站 | 一区二区三区精品在线 | 九九九九精品九九九九 | 免费高清看电视网站 | 亚洲精品乱码白浆高清久久久久久 | 成年人国产在线观看 | 亚洲视频在线观看 | 看片在线亚洲 | 日韩免费一区二区 | 91免费网站在线观看 | 久久久午夜精品理论片中文字幕 | 日韩国产精品毛片 | 国产 亚洲 欧美 在线 | 一区二区三区手机在线观看 | 国产精品入口a级 | 天天操天天干天天干 | 丁香激情婷婷 | 午夜精品一区二区三区免费视频 | 午夜在线观看影院 | 九九热视频在线 | 国内综合精品午夜久久资源 | 亚洲国产精品传媒在线观看 | 午夜久久网| 四虎在线永久免费观看 | 日本在线观看一区二区三区 | 久久伊人爱 | 亚洲精品tv久久久久久久久久 | 婷婷在线免费视频 | 97精品免费视频 | 欧美a级一区二区 | 国产精品久久久久久久av电影 | 成人在线视频在线观看 | 久久国产欧美日韩精品 | 最新国产福利 | 免费久久片 | 亚洲人成网站精品片在线观看 | 国产一级二级av | 国产一区 在线播放 | 久久精品亚洲一区二区三区观看模式 | 97久久精品午夜一区二区 | 97综合在线 | 国模吧一区 | 精品一区中文字幕 | 91视频-88av| 久久一精品 | 国产精品久久久久久999 | 色干综合| 亚洲免费永久精品国产 | 五月天高清欧美mv | 成人免费在线观看入口 | 日本精品视频在线观看 | 三级av免费看 | 日韩免费视频网站 | 在线免费观看国产精品 | 国内外成人在线 | а天堂中文最新一区二区三区 | 69久久久 | 久久午夜国产精品 | 久久久亚洲网站 | 手机看片久久 | 香蕉成人在线视频 | 在线日本看片免费人成视久网 | 6080yy精品一区二区三区 | 亚洲另类在线视频 | 在线免费色 | 98超碰人人 | 成人午夜影院 | 国产玖玖精品视频 | 视色网站 | www.午夜视频| 天天综合狠狠精品 | 免费看黄视频 | 久久精品导航 | 成人国产精品久久久久久亚洲 | 国产精品 国内视频 | 精品国产乱码一区二区三区在线 | 天天·日日日干 | 91免费观看视频网站 | 8x成人在线 | 日日操天天爽 | 日本深夜福利视频 | 国产一区免费在线观看 | 91久久精品一区 | 久久久久蜜桃 | 午夜免费在线观看 | 国产精品乱看 | 免费精品视频在线 | 久久国产亚洲视频 | 久草色在线观看 | 国产成人av免费在线观看 | 国产精品入口久久 | 久久久久久伊人 | 成人国产精品电影 | 韩国av免费观看 | 三级性生活视频 | 乱子伦av| 狠狠躁夜夜躁人人爽超碰97香蕉 | 在线精品亚洲 | 久久精品视频在线播放 | 黄色小说18 | 久久综合偷偷噜噜噜色 | 国产美女网站在线观看 | 一级成人在线 | 在线免费试看 | 国产精品久久久久久久久久ktv | 亚洲国产影院 | 中文日韩在线 | 97国产超碰 | 黄色网免费 | www.色就是色 | 久久免费av电影 | 久一在线 | 久香蕉| 欧美有色 | 欧美日韩国内在线 | 日韩av免费一区二区 | 亚洲,播放 | 久久精品综合 | 免费看高清毛片 | 人人添人人澡人人澡人人人爽 | 国产精品视频免费 | 亚洲精选国产 | 久久久久久久久久久久电影 | 午夜精品久久久久久久久久久 | 2024国产精品视频 | 激情综合五月 | a成人v | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 久久久久久久久久免费视频 | 日韩精品久久久久久 | 免费成人av电影 | 人人爽人人澡人人添人人人人 | 欧美激情第十页 | 久草在线资源观看 | 日韩精品国产一区 | 91在线视频免费播放 | 精品视频亚洲 | 伊人宗合| 日韩av成人免费看 | 色偷偷av男人天堂 | 美女黄频网站 | 五月天久久久久 | 91成版人在线观看入口 | 色综合久久五月 | 丁香婷婷深情五月亚洲 | 色噜噜噜噜 | 97超碰总站| japanesefreesexvideo高潮 | 久久久久一区 | 有码一区二区三区 | 在线 影视 一区 | 国产精品99久久久久久小说 | 永久免费的啪啪网站免费观看浪潮 | 香蕉久久久久久久 | 在线观看中文字幕视频 | 亚洲综合在线五月天 | 成人黄色在线看 | 国产精品久久久久婷婷 | 四虎成人精品永久免费av | 久久私人影院 | 国产一区91| 一本一本久久a久久精品综合妖精 | 国产成人精品av在线 | 欧美日韩国产区 | 天天玩夜夜操 | 亚洲爱爱视频 | 婷婷色资源 | 中文字幕在线国产精品 | 国产精品av免费观看 | 成人午夜精品久久久久久久3d | 97视频网站| 日韩欧美中文 | 亚洲精品乱码久久久一二三 | 国产1区2| 九九九热精品免费视频观看网站 | 亚洲一区二区三区精品在线观看 | 国产精品第三页 | 国产成本人视频在线观看 | 亚洲四虎在线 | 久久96| 欧美日比视频 | 日韩午夜高清 | 91在线精品秘密一区二区 | 草久视频在线观看 | 欧美a级成人淫片免费看 | 韩国av在线播放 | 久久亚洲影视 | 国产91精品一区二区 | 91精品国产乱码久久 | 国产一区二区综合 | 一区二区三区在线影院 | 午夜精品久久久久久中宇69 | 97超碰资源总站 | 伊人午夜| 天天狠狠操| 久久精品一区二区三区四区 | 成人精品视频 | av片免费播放 | 婷婷久久国产 | 日韩av高清| 97色在线观看免费视频 | 久久精品波多野结衣 | 亚洲国产精品久久久久久 | 99激情网| 国产黄免费在线观看 | 欧美-第1页-屁屁影院 | 波多野结衣精品在线 | 玖玖视频免费在线 | 香蕉视频免费在线播放 | 日韩 精品 一区 国产 麻豆 | 99麻豆久久久国产精品免费 | 在线观看深夜视频 | 成人黄色片免费 | 探花视频免费在线观看 | 国产短视频在线播放 | 久久人人爽视频 | 欧美另类亚洲 | av在线短片 | 99久久国产免费免费 | 精品一区二区三区四区在线 | 波多野结衣视频在线 | 国产v在线 | 92av视频| 亚洲视频高清 | av电影免费在线看 | 欧美精品一区二区免费 | 最近免费观看的电影完整版 | 又黄又刺激视频 | 成人欧美一区二区三区在线观看 | 黄色a级片在线观看 | 亚洲第一成网站 | 夜夜躁日日躁狠狠久久88av | 久久午夜视频 | 又色又爽又激情的59视频 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 亚洲人成人在线 | 成人免费视频网 | 在线观看一级视频 | 欧美日韩高清国产 | 国产资源中文字幕 | 欧美有色 | 不卡电影一区二区三区 | 人人爽人人 | 日韩精品在线一区 | 久久久久亚洲天堂 |