五月天激情丁香,国产精品2019,国产成人精品亚洲2020,国产精品免费视频一区二区三区,开心久久婷婷综合中文字幕,天堂视频在线观看免费完整版

Action 注解

控制器類 action 注解指的是可以在控制器類中 action 方法中聲明使用的注解標簽,包括 ApiParamExtendParam 三個注解標簽。用于實現對傳遞到 action 方法的參數的約束邏輯判斷及注解文檔的生成。

Api

標記當前的 actionapi

注解字段說明

apiName

該字段用于說明當前 api 在注解文檔中展示的標題名稱。

allowMethod

該字段用于限制當前 api 允許請求的請求方法,可配置的值可查看枚舉類 \EasySwoole\HttpAnnotation\Enum\HttpMethod ,不配置時默認為 [HttpMethod::GET,HttpMethod::POST]。開發者可能會對部分接口限制只能允許 GET 方法請求,這時就可以配置這個字段來限制請求方法。

requestPath

該字段用于說明請求當前 api,可注冊到 fast-route,也作為注解文檔中的 api 請求路徑。

注意:如果不把 Api 注解中的 requestPath 注入到 EasySwoole 框架的 Router ,這個字段僅能作為注解文檔聲明,沒有其他作用,并不會使用該字段的值作為路由提供訪問,客戶端實際請求時也是執行 EasySwoole 框架的默認解析。關于如何將 requestPath 注入到 EasySwoole 框架的 Router 請看下文說明。

requestParam

該字段用于定義當前 api action 方法客戶端需要傳遞的參數及限制約束規則,該字段接收一個 Param 對象數組。實現對傳遞的參數進行校驗。使用示例如:

<?php

namespace App\HttpController;

use EasySwoole\HttpAnnotation\Attributes\Api;
use EasySwoole\HttpAnnotation\Attributes\Description;
use EasySwoole\HttpAnnotation\Attributes\Param;
use EasySwoole\HttpAnnotation\Enum\HttpMethod;
use EasySwoole\HttpAnnotation\Enum\ParamFrom;
use EasySwoole\HttpAnnotation\Validator\Optional;

class Index extends Base
{
    #[Api(
        apiName: "home",
        allowMethod: HttpMethod::GET,
        requestPath: "/test/index",
        requestParam: [
            new Param(
                name: "account",
                from: ParamFrom::GET,
                validate: [
                    new Optional()
                ],
                value: 1,
                description: new Description("翻頁參數")
            )
        ],
    )]
    function index(string $account)
    {
        $this->writeJson(200, null, "account is {$account}");
    }
}

responseParam

該字段主要用于自動生成文檔時,響應參數的描述說明。

requestExamples

該字段主要用于自動生成文檔時,請求參數示例的描述說明。

responseExamples

該字段主要用于自動生成文檔時,響應參數示例的描述說明。

description

該字段主要用于自動生成文檔時,api 的描述說明。

Api 注解的 requestPath 注入路由

修改 App\HttpController\Router.php 類文件,在 initialize 方法中添加 \EasySwoole\HttpAnnotation\Utility::mappingRouter($routeCollector, __DIR__); 即可。

<?php

namespace App\HttpController;

use EasySwoole\Http\AbstractInterface\AbstractRouter;
use EasySwoole\HttpAnnotation\Utility;
use FastRoute\RouteCollector;

class Router extends AbstractRouter
{
    function initialize(RouteCollector $routeCollector)
    {
        // 將所有 `Api` 注解的 `requestPath` 注入路由
        Utility::mappingRouter($routeCollector, __DIR__);
    }
}

這樣就可以把所有 Api 注解中的 requestPath 注入到 fast-route,具體用法查看 動態路由 章節。

使用示例

<?php

namespace App\HttpController;

use EasySwoole\HttpAnnotation\Attributes\Api;
use EasySwoole\HttpAnnotation\Attributes\Description;
use EasySwoole\HttpAnnotation\Attributes\Param;
use EasySwoole\HttpAnnotation\Document\Document;
use EasySwoole\HttpAnnotation\Enum\HttpMethod;
use EasySwoole\HttpAnnotation\Enum\ParamFrom;
use EasySwoole\HttpAnnotation\Validator\Integer;
use EasySwoole\HttpAnnotation\Validator\IsUrl;
use EasySwoole\HttpAnnotation\Validator\MaxLength;
use EasySwoole\HttpAnnotation\Validator\Min;
use EasySwoole\HttpAnnotation\Validator\MinLength;
use EasySwoole\HttpAnnotation\Validator\Optional;
use EasySwoole\HttpAnnotation\Validator\OptionalIfParamMiss;
use EasySwoole\HttpAnnotation\Validator\OptionalIfParamSet;
use EasySwoole\HttpAnnotation\Validator\Required;

class Index extends Base
{
    #[Api(
        apiName: "home",
        allowMethod: HttpMethod::GET,
        requestPath: "/test/index.html",
        requestParam: [
            new Param(
                name: "account",
                from: ParamFrom::GET,
                validate: [
                    new Optional()
                ],
                value: 1,
                description: new Description("翻頁參數")
            )
        ],
        description: new Description(__DIR__ . '/../../res/description.md', Description::MARKDOWN_FILE)
    )]
    public function index(string $account)
    {
        $this->writeJson(200, null, "account is {$account}");
    }

    #[Api(
        apiName: "hello",
        allowMethod: [HttpMethod::POST, HttpMethod::GET],
        requestPath: "/test/hello.html",
        requestParam: [
            new Param(name: "account", from: ParamFrom::GET, validate: [
                new Required(),
                new MaxLength(maxLen: 15),
            ], description: new Description("用戶登錄的賬戶Id,這個參數一定要有啊"))
        ],
        description: new Description("這是一個接口說明啊啊啊啊")
    )]
    public function hello(string $account)
    {
        $this->writeJson(200, null, "account is {$account}");
    }

    public function doc()
    {
        $path      = __DIR__;
        $namespace = 'App\HttpController';
        $doc       = new Document($path, $namespace);
        $this->response()->write($doc->scanToHtml());
    }

    #[Api(
        apiName: 'url',
        requestParam: [
            new Param(
                name: "url",
                validate: [
                    new IsUrl()
                ]
            )
        ]
    )]
    public function url()
    {

    }

    #[Api(
        apiName: 'optionalSet',
        requestParam: [
            new Param(
                name: "a",
                validate: [
                    new OptionalIfParamSet("b"),
                    new MinLength("5")
                ]
            ),
            new Param(
                name: "b",
                validate: [
                    new OptionalIfParamSet("a"),
                    new Integer(),
                    new Min(1)
                ]
            )
        ]
    )]
    public function optionalSet()
    {

    }

    #[Api(
        apiName: 'optionalMiss',
        requestParam: [
            new Param(
                name: "a",
                validate: [
                    new Optional(),
                    new MinLength("5")
                ],
            ),
            new Param(
                name: "b",
                validate: [
                    new OptionalIfParamMiss("a"),
                    new Integer(),
                    new Min(1)
                ]
            )
        ]
    )]
    public function optionalMiss()
    {

    }
}

Param

Param 注解的字段說明已經在 控制器類注解 章節進行了說明。這里就不再詳細說明。 這里提到 Param 的使用,是其在 action 方法中的使用說明。

注意:Param 注解在 action 中使用時,不能既在 Api 注解的 requestParam 字段中使用 Param 注解,又在 action 方法上單獨聲明 Param 注解,這樣做時會導致后者失效。所以推薦要么在 Api 注解的 requestParam 字段中使用 Param 注解,要么在不使用 Api 注解的情況下直接單獨使用 Param 注解,后者這種就不能把定義的 requestPath 注入路由,而是執行 EasySwoole 框架默認的路由解析模式。

錯誤示例:

<?php
namespace App\HttpController;

use EasySwoole\HttpAnnotation\Attributes\Api;
use EasySwoole\HttpAnnotation\Attributes\Param;
use EasySwoole\HttpAnnotation\Validator\MinLength;
use EasySwoole\HttpAnnotation\Validator\Optional;

class User extends Base
{
    #[Api(
        apiName: 'optionalMiss',
        requestParam: [
            new Param(
                name: "a",
                validate: [
                    new Optional(),
                    new MinLength(5)
                ],
            )
        ]
    )]
    #[Param(
        name: "b",
        validate: [
            new Optional(),
            new MinLength(5)
        ],
    )]
    public function optionalMiss()
    {

    }
}

上述 optionalMiss actionParam 注解的參數 b 會被忽略,既不會被驗證,也不會注入參數傳參。

正確示例:

<?php
namespace App\HttpController;

use EasySwoole\HttpAnnotation\Attributes\Api;
use EasySwoole\HttpAnnotation\Attributes\Param;
use EasySwoole\HttpAnnotation\Validator\MinLength;
use EasySwoole\HttpAnnotation\Validator\Optional;

class User extends Base
{
    #[Api(
        apiName: 'optionalMiss',
        requestParam: [
            new Param(
                name: "a",
                validate: [
                    new Optional(),
                    new MinLength(5)
                ],
            ),
            new Param(
                name: "b",
                validate: [
                    new Optional(),
                    new MinLength(5)
                ],
            )
        ]
    )]
    public function optionalMiss()
    {

    }
}

使用示例

<?php

namespace App\HttpController\Api;

use EasySwoole\HttpAnnotation\Attributes\Api;
use EasySwoole\HttpAnnotation\Attributes\ApiGroup;
use EasySwoole\HttpAnnotation\Attributes\Description;
use EasySwoole\HttpAnnotation\Attributes\Example;
use EasySwoole\HttpAnnotation\Attributes\Param;
use EasySwoole\HttpAnnotation\Enum\HttpMethod;
use EasySwoole\HttpAnnotation\Enum\ParamFrom;
use EasySwoole\HttpAnnotation\Enum\ParamType;
use EasySwoole\HttpAnnotation\Validator\MaxLength;
use EasySwoole\HttpAnnotation\Validator\Required;

#[ApiGroup(
    groupName: "Api.Auth", description: new Description(__DIR__ . '/../../../res/description.md', Description::MARKDOWN_FILE)
)]
class Auth extends ApiBase
{
    #[Api(
        apiName: "login",
        allowMethod: HttpMethod::GET,
        requestPath: "/auth/login.html",
        requestParam: [
            new Param(name: "account", from: ParamFrom::GET, validate: [
                new Required(),
                new MaxLength(maxLen: 15),
            ], description: new Description("用戶登錄的賬戶Id")),
            new Param(name: "password", from: ParamFrom::GET, validate: [
                new Required(),
                new MaxLength(maxLen: 15),
            ], description: new Description("密碼")),
            new Param(name: "verify", from: ParamFrom::JSON,
                description: new Description("驗證碼"),
                type: ParamType::OBJECT,
                subObject: [
                    new Param(name: "code", from: ParamFrom::JSON, validate: [
                        new Required(),
                        new MaxLength(maxLen: 15),
                    ], description: "防偽編號"),
                    new Param(name: "phone", from: ParamFrom::JSON, description: "手機號")
                ])
        ],
        responseParam: [
            new Param(
                name: "code", type: ParamType::STRING
            ),
            new Param(
                name: "Result",
                type: ParamType::LIST,
                subObject: [
                    new Param("token"),
                    new Param("expire")
                ]
            ),
            new Param("msg")
        ],
        requestExamples: [
            new Example(
                [
                    new Param(name: "account", value: "1111", description: "賬號"),
                    new Param(name: "password", value: "1111", description: "密碼"),
                    new Param(name: "verify", value: "1111", description: new Description('驗證碼')),
                ]
            ),
            new Example(
                new Description(__DIR__ . '/../../../res/json.json', Description::JSON_FILE)
            ),
            new Example(
                new Description(__DIR__ . '/../../../res/xml.xml', Description::XML_FILE)
            ),
        ],
        responseExamples: [
            new Example(
                [
                    new Param(name: "result", description: "結果", subObject: [
                        new Param(name: "id", value: 1, description: "用戶Id"),
                        new Param(name: "name", value: "八九", description: "昵稱")
                    ]),
                    new Param(name: "code", value: "200", description: "狀態碼"),
                ]
            ),
            new Example(
                [
                    new Param(name: "result", value: "fail", description: "結果"),
                    new Param(name: "code", value: "500", description: "狀態碼"),
                ]
            ),
            new Example(
                new Description(__DIR__ . '/../../../res/json.json', Description::JSON_FILE)
            ),
            new Example(
                new Description(__DIR__ . '/../../../res/xml.xml', Description::XML_FILE)
            ),
        ],
        description: new Description("這是一個接口說明")
    )]
    public function login()
    {

    }
}

ExtendParam

用于子類控制器類在重寫父類控制類的 action 方法時限制約束傳入子類控制器類的 action 方法參數。且 ExtendParam 注解只能在 action 中使用一次。

使用示例

Base 類,父類有一個 add action,限制必填參數 param1param2

<?php
namespace App\HttpController;

use EasySwoole\HttpAnnotation\AnnotationController;
use EasySwoole\HttpAnnotation\Attributes\Param;
use EasySwoole\HttpAnnotation\Exception\Annotation;
use EasySwoole\HttpAnnotation\Exception\ValidateFail;
use EasySwoole\HttpAnnotation\Validator\Required;

class Base extends AnnotationController
{
    #[Param(
        name: "param3",
        validate: [
            new Required()
        ]
    )]
    #[Param(
        name: "param4",
        validate: [
            new Required()
        ]
    )]
    public function add()
    {

    }

    protected function onException(\Throwable $throwable): void
    {
        if ($throwable instanceof ValidateFail) {
            $this->writeJson(400, null, $throwable->getMessage());
        } else {
            if ($throwable instanceof Annotation) {
                $this->writeJson(400, null, $throwable->getMessage());
            } else {
                throw $throwable;
            }
        }
    }
}

Index 類,子類控制器,重寫父類 Baseadd action,聲明 ExtendParam 注解指定要約束的參數,所以 add action 由于受到父類參數約束,所以必填參數 param1param2

<?php
namespace App\HttpController;

use EasySwoole\HttpAnnotation\Attributes\ExtendParam;

class Index extends Base
{
    #[ExtendParam(parentParams: ['param1', 'param2'])]
    public function add()
    {

    }
}
主站蜘蛛池模板: 日本中文视频 | 国产资源在线看 | 国产精品视频久久久久 | 最新中文字幕久久 | 欧美久久久久久久久久久 | 林雅儿欧洲留学恋爱日记在线 | 波多野成人无码精品电影 | 成人h视频在线观看 | 国产精品国三级国产av | 国产69精品一区二区亚洲孕妇 | 无码av波多野结衣久久 | 欧美成人看片一区二区三区尤物 | 最近高清中文字幕免费 | 一级aaa级毛片午夜在线播放 | 亚洲人成网站777色婷婷 | 国产在线精品一区二区不卡麻豆 | 日韩精品一区二区三区国语自制 | 日韩丰满少妇无吗视频激情内射 | 国产强伦姧在线观看无码 | 亚洲精品视频网址 | 精品一区二区三区免费毛片爱 | av在线不卡网 | 国产精品福利在线播放 | 久久综合成人 | 一级做a在线观看 | 国产午夜福利在线机视频 | 亚洲欧洲美洲无码精品va | 久久精品网站免费观看 | 国产免费又粗又猛又爽 | 欧美成人免费网址 | 久久99精品国产麻豆婷婷洗澡 | 日韩有码在线视频 | 国精品人妻无码一区二区三区蜜柚 | 午夜dj在线观看免费视频 | 日本黄在线观看 | 亚洲精品久久久久中文字幕二区 | 久久天天躁狠狠躁夜夜av不卡 | 人人看人人艹 | 免费在线黄网站 | 影音先锋成人资源网站 | 国产激情无码一区二区三区 | 高h av| 亚洲精品aⅴ | 久涩涩福利视频在线观看 | 偷拍xxxx | 尤物精品视频 | 疯狂做受xxxx欧美肥白少妇 | 国产麻豆精品一区二区三区v视界 | 狠狠鲁影院| 永久免费的啪啪网站免费观看浪潮 | 天天摸夜夜添夜夜无码 | 少妇愉情理伦片丰满丰满午夜 | 亚洲精品久久久无码一区二区 | 欧美成人影院亚洲综合图 | 四虎影视www在线播放 | 一个人在线观看免费视频www | 日本丰满熟妇videossex | 日韩视频一区 | 国产无套水多在线观看 | 91亚洲精华国产精华精华液 | 久久精品欧美日韩精品 | 丁香综合激情 | 亚洲精品电影院 | 99精品欧美一区二区三区小说 | 成年无码av片在线 | 日本人配人免费视频人 | 少妇性l交大片免费观看冫 少妇性l交大片免费快色 | 超薄丝袜足j好爽在线 | 国产精品自拍第一页 | 尤物99国产成人精品视频 | 午夜影院免费在线观看 | 国产精无久久久久久久免费 | 成人亚洲性情网站www在线观看国产 | 婷婷四房综合激情五月 | 成年免费视频黄网站在线观看 | 日本激情一区二区 | 欧性猛交ⅹxxx乱大交 | 成人免费三p在线观看 | 就操成人网 | 91精品国产麻豆 | 麻豆91精品91久久久的优点 | 亚洲国产精品丝袜国产自在线 | 久久久久久久久久久影院 | 久久久久久久久久网 | 91在线视频免费播放 | 久草福利资源在线 | 777片理伦片在线观看 | 丁香六月激情 | 夜夜爽一区二区三区精品 | 神马久久久久久久久 | 成人字幕 | 亚洲成a∨人片在线观看不卡 | 日本www在线观看 | 国产偷v国产偷∨精品视频 国产偷v国产偷v精品视频 | 欧美第一页浮力影院 | 国产小视频免费 | 爱看av在线| 视频一区二区三区免费 | 好吊妞视频这里有精品 | 成全世界免费高清观看 | 欧美噜噜久久久xxx 欧美噜噜噜 | 日本精品久久久久中文字幕 | 欧美日韩久久精品 | 免费av在线播放 | 亚洲国产欧美日韩精品一区二区三区 | 韩国三级与黑人 | 最新中文字幕久久 | 成人精品三级av在线看 | 精品国产乱码久久久久久浪潮 | 三级国产在线 | a中文字幕| 亚洲国产成人无码av在线影院 | 懂色aⅴ精品一区二区三区蜜月 | 色综合社区 | 亚洲第一无码av无码专区 | 久久午夜无码鲁丝片 | 色播视频在线播放 | 国产精品美女一区二区视频 | 亚洲天堂三区 | 国产一级免费观看 | 欧美国产日韩a在线视频 | 久久99精品久久久久久秒播九色 | 美女18免费视频 | 午夜极品视频 | 婷婷激情网站 | 动漫av一区二区在线观看 | 日韩精品91偷拍在线观看 | 日本免费黄色网 | 成人久久18免费 | 亚洲自拍成人 | 亚洲视频99| 特级免费毛片 | 国产伦精品一区二区三区免费迷 | 极品新婚夜少妇真紧 | 国产乱a视频在线 | 少妇精品无码一区二区三区 | 99久久久精品免费观看国产 | 91久久嫩草影院一区二区 | 中文字幕一区二区三区第十负 | jzjzjz欧美丰满少妇 | 精品视频成人 | 女学生的大乳中文字幕 | 五月天婷婷视频在线观看 | 不卡视频一区二区三区 | 久久精品国产清自在天天线 | 欧美成人午夜免费视在线看片 | 国产精品涩涩屋www在线观看 | 毛片网页 | 亚洲v无码一区二区三区四区观看 | 午夜精品久久久久久久星辰影院 | 人妻av中文系列 | 欧美一级特黄视频 | 91天天干 | 天天操操操操 | 高清一区二区三区日本久 | 婷婷五月综合丁香在线 | 丁香五香天综合情 | 五月激情综合婷婷 | 欧美性做爰猛烈叫床潮 | 国产精品视频在线观看 | 中文字幕亚洲精品日韩 | av无码免费岛国动作片 | 免费av播放 | 美女的尿囗网站免费 | 成人久久久| 亚洲做受高潮无遮挡 | 日韩精品第一区 | 又黄又爽又色无遮挡免费软件国外 | 亚洲综合另类小说色区一 | 久久精品女人的天堂av | 国产高潮国产高潮久久久91 | 国产亚洲精品久久久久久久久久久久 | 久久久久久国产精品日本 | 日韩高清网站 | 狠狠干2021| 国产精品爽爽久久久久久 | 四虎影院免费 | youjizz日韩| 亚洲成av人片一区二区 | 免费无码又爽又刺激聊天app | 亚洲h在线播放在线观看h | 成人wwxx视频免费男女 | 亚洲国产精品成人av | 一品毛片 | 品久久久久久久久久96高清 | 日韩久久无码免费毛片软件 | 国产精品无码一区二区三区在 | √天堂资源在线中文8在线最新版 | 国产精品三级av | 秋霞av鲁丝片一区二区 | 一区二区不卡免费视频 | 黑丝av在线 | 亚洲天堂av在线免费观看 | 思思久久99热只有频精品66 | 9l蝌蚪porny中文自拍 | 亚洲中文字幕av无码区 | 九一国产在线 | 日韩在线一区二区 | 欧美日韩乱 | 欲求不满 希岛あいり在线看 | 国产午夜精品一区二区理论影院 | julia中文字幕久久亚洲蜜臀 | 欧美性猛交xxxⅹ乱大交小说 | 亚洲激情精品 | 日本色片网站 | 国产免费999 | 日本三级少妇 | 国产亚洲精品久久久优势 | 蜜桃av蜜臀av色欲av麻 | 少妇哺乳期在线喷奶 | 久久人人爽亚洲精品天堂 | 国产成人精品在线 | 亚洲精品国产v片在线观看 亚洲精品国产成人 | 亚洲精品白浆高清久久久久久 | 老师粉嫩小泬喷水视频90 | 全村肉体暴力强伦轩np小说 | 日韩精品内射视频免费观看 | 五月婷影院 | 亚洲成人中文字幕在线 | 97久久精品人人做人人爽50路 | 亚洲视频欧洲视频 | 嫩草视频在线观看 | 又色又爽又黄又刺激免费 | 日本大码a∨欧美在线 | 少妇扒开粉嫩小泬视频 | 中文字幕精品久久一二三区红杏 | 中国毛片在线 | 香蕉视频黄在线观看 | 91九色porny视频 | 91亚洲影院| 五月天激情婷婷婷久久 | 久久成人视屏 | 一级黄色大全 | 国产精品裸体一区二区三区 | 亚洲国产日韩在线视频 | 伊人久久精品一区二区三区 | 69色综合| 热99精品| 久久精品久久久久久 | 午夜成人理论无码电影在线播放 | 亚洲操 | 日韩欧美大片 | 激情欧美综合 | 亚州av综合色区无码一区 | 国产亚洲精品精品国产亚洲综合 | 国产精品久久久久久久久久久不卡 | 美女胸18大禁视频网站 | 狠狠色噜噜狠狠狠狠2018 | 国产精品无码素人福利不卡 | 日本少妇高潮叫床声一区二 | 成熟女人毛片www免费版在线 | 屁屁国产第一页草草影院 | 久草青青草 | 久久国产精品免费视频 | 国产日韩欧美不卡 | 成人h网站| 视频免费1区二区三区 | 日产精品无人区 | a天堂中文在线观看 | jizz亚洲女人高潮大叫 | 好爽好大久久久级淫片毛片小说 | 女上男下激烈啪啪xx00免费 | 亚洲精品久久久蜜臀av站长工具 | 国产人与zoxxxx另类 | 依依成人综合 | 狠狠做深爱婷婷久久综合一区 | 亚洲天堂小视频 | 美女被张开双腿日出白浆 | 久久强奷乱码老熟女网站 | 九色网址| 亚洲免费国产 | 国产一区二区丝袜 | 久久影院视频 | 野外吮她的花蒂高h在线观看 | 午夜精品在线播放 | www.日韩高清 | 国产精品毛片久久 | 波多野结衣视频在线播放 | 美女视频黄免费 | 中文字幕一区二区三区乱码 | 国产日b视频 | 欧美一区二区三区爱爱 | 丝袜美腿中文字幕 | 成人看片黄a免费看视频 | 天天色综合图片 | 秋霞在线视频观看 | 日本孰妇毛茸茸xxxx | 亚洲一区二区三区乱码aⅴ蜜桃女 | 超碰av在线播放 | 午夜激情视频免费观看 | 久久久国产一区二区三区 | 天天狠天天透天天伊人 | 亚洲人成图片小说网站 | 日韩亚洲欧美中文字幕 | 黑人巨大精品欧美一区二区奶水 | 美女三级黄色片 | 999精品影视在线观看不卡网站 | 亚洲精品国偷拍自产在线观看 | 欧美精品久久久久久久久久白贞 | 亚洲综合国产 | 九九热精品视频在线播放 | 日韩欧美的一区二区 | 天天综合网91 | 午夜又黄又爽 | 成人资源在线观看 | 内射人妻无码色ab麻豆 | 丰满爆乳在线播放 | 少妇特黄a一区二区三区 | 亚洲vs天堂 | 亚洲精品久久久久中文字幕m男 | 高清视频在线观看一区二区三区 | 羞羞色视频 | 久久人成| 日本熟妇色xxxxx欧美老妇 | 日本啊v在线 | 91精品国产综合婷婷香蕉 | 成年片色大黄全免费软件到 | 丁香午夜婷婷 | 美女久久久久久 | 华人少妇被黑人粗大的猛烈进 | 日产精品入口 | 久久偷偷| tube欧美巨大44 | 人妻无码一区二区三区 | 一本色道久久88综合日韩精品 | 久久综合久久久 | 在线观看色 | 精品一区二区三区波多野结衣 | 亚洲mv高清砖码区2022伊甸园 | 香蕉啪啪网 | av国产网站 | 日韩久久网 | 日韩在线免费观看视频 | 国产成人亚洲综合 | 亚洲不卡av不卡一区二区 | 无码一区二区三区免费 | 中文字幕人妻无码视频 | 韩国成人在线视频 | 日韩视频在线视频 | 日本高清有码视频 | 一本不卡av | 黑人黄色片 | 亚洲综合伊人 | 黄色av网| 色综合天天天天做夜夜夜夜做 | xvideos.蜜桃一区二区 | 亚洲人成无码网站18禁10 | 精品中文字幕一区二区 | 都市激情自拍 | 精品xxxx户外露出视频 | 尤物在线免费视频 | 日韩在线视频网站 | 欧美成人一区二免费视频 | 日本少妇翘臀啪啪无遮挡动漫 | 国产热a欧美热a在线视频 | xx视频在线观看 | 成人高清视频在线观看 | 日本丰满少妇免费一区 | 国产午夜精品18久久蜜臀董小宛 | 一区二区国产精品精华液 | 理论片高清免费理论片毛毛片 | 亚洲精品手机在线观看 | 日韩久久久久久久久 | 性开放xxxhd视频 | 爱爱视频一区 | 超碰在线97国产 | 97毛片| 九九热在线视频免费观看 | 69精品视频| 女儿的朋友4在线观看 | 综合精品欧美日韩国产在线 | 国产成人毛毛毛片 | 少妇又紧又深又湿又爽视频 | 韩国成人免费视频 | 99re超碰| 一区二区三区视频免费 | 久久久久久久久久一毛喷水 | 国产激情综合在线观看 | 丰满的女人性猛交 | 中国老熟女重囗味hdxx | 精品久久网 | 久久免费在线观看 | 女人特黄大aaaaaa大片 | 成人国产精品视频国产 | 国产女人高潮的av毛片 | 欧洲亚洲另类 | 九九九热视频 | 久久综合精品视频 | 黑人巨大猛交丰满少妇 | 久久精品aⅴ无码中文字字幕重口 | 日本丰满熟妇videossex8k 日韩亚洲欧美中文在线 | mm131尤物让人欲罢不能日本 | 五月天婷婷综合网 | jizz中国少妇高潮出水 | 日韩免费福利视频 | 国产精品无需播放器在线观看 | 夫妻性生活自拍 | 91中文字日产乱幕4区 | 久久女 | 国产精品毛片av在线看 | 一本色综合网 | 免费看黄色片子 | 国产一线在线观看 | 日本成人在线网站 | 黄色三级国产 | 欧美日韩精品一区二区三区在线 | 免费视频久久 | 国产欧美日韩综合精品一 | 男女超碰| 国产精品任我爽爆在线播放 | 全部免费的毛片在线播放 | 国产69xx| 亚洲图片三区 | 成人午夜网 | 在线观看国产福利 | 黄网站在线播放 | 国产超碰人人做人人爱 | 中文字幕人成人乱码亚洲影视的特点 | 黄色一级网址 | 天堂资源wwwav啪啪 | 日本不卡免费新一二三区 | 成人影视免费观看 | 在线观看一区二区三区av | 欧美做爰猛烈床戏大尺度 | 亚洲最大黄色网址 | 无码精品人妻一区二区三区免费看 | 国产裸体无遮挡 | 久久9999久久免费精品国产 | 欧美爱爱网 | 天天爱天天做天天爽夜夜揉 | 欧美精品一区二区三区在线四季 | 人妻熟妇女的欲乱系列 | 在线无码va中文字幕无码 | 亚洲中文字幕第一页在线 | 91在线精品啪婷婷 | 国产午夜成人av在线播放 | 国产老妇伦国产熟女老妇高清 | 日韩一区二区在线播放 | 国产午夜不卡 | 国产精品毛片久久久久久久 | 国产黄色在线免费观看 | 超碰啪啪 | 污污网站在线 | 国产伦精品一区二区三区视频网站 | 亚洲精品在线观 | 欧美精品久久久久久久免费 | aⅴ在线视频男人的天堂 | 日韩国产欧美在线观看 | 亚洲天天综合 | 四虎永久网址 | 欧美性生活网站 | 国产精品影音先锋 | 日本特级黄色录像 | 中文字幕日韩精品在线观看 | 色女孩综合 | 亚洲国产成人精品女人久久久 | 日本一级xxxx| 亚洲青草视频 | 少妇又色又紧又爽又刺激视频 | 男女视频久久 | 欧美成人aaa片一区国产精品 | 国产精品成人免费精品自在线观看 | 99精产国品一二三产品香蕉 | 亚洲一区欧美 | 99久久久 | 波多中文字幕 | 超碰97色 | 91亚洲乱码卡一卡二卡新区豆 | 国产ts在线观看 | 欧美成人一区免费视频 | 国产精品99久久免费 | 18一20岁毛毛片 | 108种啪姿势大全动态图 | 国产精品av一区二区三区网站 | 国产精品久久99综合免费观看尤物 | 99久久免费国产精精品 | 又长又硬又粗一区二区三区 | 日韩成人精品 | 黄色三级网址 | 琪琪电影午夜理论片八戒八戒 | 成人国产一区二区三区精品麻豆 | 在线观看日韩一区 | 亚洲校园激情 | 丁香色婷婷国产精品视频 | 亚洲视频综合网 | 国产成人61精品免费看片 | 国产午夜av | av永久免费观看 | xxxx少妇高潮毛片新婚之夜 | 新婚夫妇白天啪啪自拍 | 欧美日韩一区二区三区在线播放 | 丁香激情婷婷 | 麻豆成人网 | aa免费视频 | 91久| 国产亚洲精品久久久久久移动网络 | 久久久一区二区三区 | 久久婷婷婷 | 国产精品jk白丝av网站 | 国产丝袜在线 | 中文字幕第8页 | 欧美成人高清视频 | 清纯唯美一区二区三区 | 欧美极品少妇 | 中文字幕一区二区不卡 | 激情综合网站 | 欧美丰满熟妇hdxx | 久久99精品久久久秒播 | 久久国产精品区 | 8mav精品成人 | 一区二区天堂 | 久久露脸国语精品国产91 | 免费裸体无遮挡黄网站免费看 | 羞羞色男人的天堂 | 国产在线视频你懂的 | 婷婷五月综合色视频 | 18禁美女裸体爆乳无遮挡 | 日本免费人成视频在线观看 | 宅男噜噜噜66网站在线观看 | beeg日本高清xxxx18 | 亚洲永久在线观看 | 亚洲精品国产乱码久久久1区 | 在线观看成人小视频 | 最新国产黄色网址 | 性久久久久久 | 久久综合亚洲 | 久久久久女人精品毛片 | 亚洲春色综合另类网蜜桃 | 亚洲人成网站999久久久综合 | 极品国产在线 | 亚洲精品国产剧情久久9191 | 亚洲 欧美 日韩在线 | 美女中文字幕 | 一级做a爰片欧美激情床 | 性xxxx18免费观看视频 | 偷拍自中文字av在线 | 图书馆的女友动漫在线观看 | 国产成人在线免费观看 | 黄色1级片 | 99久久综合狠狠综合久久止 | 国产网友自拍在线视频 | 国产精品字幕 | 51国偷自产一区二区三区的来源 | 蜜臀av午夜一区二区三区 | 成人久久大片91含羞草 | 丰满熟妇乱子伦 | 久久免费视频网站 | 欧美日韩综合一区二区三区 | 国产剧情v888av | 美女一区二区三区 | 亚洲国产精品福利片在线观看 | 精品人妻久久久久久888 | 91涩涩视频 | 亚洲欧美另类中文字幕 | 国产人人干 | 色婷婷综合久久中文字幕雪峰 | 久草久| 国产亚洲视频中文字幕97精品 | 无码人妻丰满熟妇区五十路 | 亚洲播放 | 久久久久久人妻无码 | 中文字幕人成乱码在线观看 | 国产在线资源 | 日韩免费精品视频 | 国产色| 日本xxxx18高清hd| 一区自拍 | 精品午夜福利无人区乱码一区 | yy6080久久 | 午夜噜噜 | 亚洲国产欧美日韩精品一区二区三区 | 久久影视大全 | 日韩在线影视 | 亚洲色欲色欲天天天www | 国产超碰人人模人人爽人人喊 | 爱弓凉在线视频一区二区 | 天海翼激烈高潮到腰振不止 | 欧美色图亚洲视频 | 久久久影视文化传媒有限公司 | 欧美国产一区二区三区 | 中日韩精品在线 | 乌克兰少妇xxxx做受野外 | 国产三级理论 | 少妇一区二区三区 | 色一情一乱一伦一区二区三欧美 | 99精品偷拍视频一区二区三区 | 四虎永久在线精品免费网址 | 国产精品成人自拍 | 麻豆一区二区三区精品视频 | 成人免费在线影院 | 熟妇人妻va精品中文字幕 | av黄色网 | 香蕉在线看 | 中文字幕无线码免费人妻 | 无码人妻一区二区三区在线 | 黄色在线观看av | 欧美 亚洲 另类 偷偷 自拍 | 91羞羞视频| 国产夜夜爽 | 久久精品a | 韩国三级一区 | 7777精品伊人久久久大香线蕉 | 久久精品国产亚洲精品2020 | 99自拍偷拍视频 | 欧美激情va永久在线播放 | 久久人人爽人人爽人人片亞洲 | eeuss国产一区二区三区 | 成人三级k8经典网 | 欧美福利一区 | 欧美一级黄色片子 | h肉动漫无码无修6080动漫网 | 亚洲国产mv| 男人扒开女人内裤强吻桶进去 | 熟女少妇a性色生活片毛片 熟人妇女无乱码中文字幕 熟透的岳跟岳弄了69视频 | 国产不卡视频在线观看 |