五月天激情丁香,国产精品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()
    {

    }
}
主站蜘蛛池模板: 噜噜狠狠狠狠综合久久 | 天堂va在线观看 | 日韩成人av毛片 | 久久一线 | 久久久久久久无码高潮 | 国产精品久久久久9999吃药 | 国产一区二区在 | 亚洲经典千人经典日产 | 宅男噜噜66国产精品观看 | 爆乳熟妇一区二区三区霸乳 | 亚洲精品国偷拍自产在线观看 | 久久亚洲免费视频 | 超碰男人的天堂 | 人妻 日韩精品 中文字幕 | 久久久久夜夜夜精品国产 | 中文字幕第1页第69 中文字幕第22页 | 欧美精品久久久久a | 亚洲精品久久网白云av | 91麻豆精品国产理伦片在线观看 | 欧美黑人又粗又大高潮喷水 | 特一级一性一交一视一频 | 特级无码毛片免费视频 | 看全色黄大色黄大片大学生图片 | 日韩av无码社区一区二区三区 | 亚洲狠狠爱一区二区三区 | 亚洲天堂福利视频 | 三男一女吃奶添下面视频 | 综合精品欧美日韩国产在线 | 一本一道dvd在线观看免费视频 | 爱情岛论坛亚洲品质有限公司18 | 午夜影视免费 | 亚洲国产精品一区二区三区 | 日本xxxxx九色视频在线观看 | 四库影院永久国产精品 | 青青草在线视频免费观看 | 狠狠操精品视频 | 精品无码一区二区三区的天堂 | 亚洲乱码国产乱码精品天美传媒 | 在线观看av播放 | 久久最新 | 亚洲熟女乱色综合一区 | 青娱乐极品视觉盛宴av | 国产69精品久久久久999小说 | 奇米影视在线视频 | 你懂的网址国产欧美 | 日本www视频 | 国产福利免费 | 大尺度舌吻呻吟声 | 97成人在线| 欧洲免费av | 亚洲热在线观看 | 亚洲va中文在线播放免费 | 婷婷色中文字幕综合在线 | 久久国内精品 | 777久久久| 欧美成人猛片aaaaaaa | 中文字幕视频免费观看 | 欧美日韩一区在线播放 | youjizz少妇| 最近最好的中文字幕2019免费 | 欧美亚洲国产一区二区三区 | 亚洲资源av无码日韩av无码 | 欧美激情一区二区久久久 | 一级黄色特级片 | 日本久久视频 | 久久99精品久久久久婷婷 | 国产精品香蕉在线观看 | 亚洲视频国产精品 | 亚洲精品国产a久久久久久 亚洲精品国产crm | 中文字幕在线观看网址 | 欧美黑人粗大xxxxbbbb | 亚洲国产精品成人无久久精品 | 日本三级韩国三级三级a级中文 | 黄色在线免费网站 | 日韩美女乱淫免费看视频大黄 | 日韩在线一区二区三区四区 | 麻豆视频在线观看免费网站黄 | 91嫩草视频在线观看 | 六月婷婷久香在线视频 | 夜色精品| 女同三级在线观看bd | 欧美成人免费一级人片100 | 有码在线| 100岁老太毛片 | 一区在线免费观看 | 成年人黄色在线观看 | 日本日本19xxxⅹhd乱影响 | 天天摸夜夜添狠狠添婷婷 | 国产精品麻豆入口29 | 久久99热这里只频精品6学生 | 亚洲午夜无码久久yy6080 | 国产精品亚洲二区在线观看 | 91国内揄拍国内精品对白 | 欧美成视频人免费淫片 | 不卡无码人妻一区二区三区 | 网红主播大秀福利视频日韩精品 | 黄色第一网站 | 77777_亚洲午夜久久多人 | 国产suv精品一区二区62 | 91成人精品一区二区三区四区 | 日本高清视频www夜色资源 | 天堂中文在线资源 | 黄色av一区二区 | 国产人妻777人伦精品hd | 久久99国产精品成人 | 国产在线视频一区二区 | 涩色视频 | 成人在线国产视频 | 国产一级揄自揄精品视频 | 午夜国产视频 | 在线中文字幕乱码英文字幕正常 | 国产女人与拘做受视频9 | 久久亚洲a v | 国产日韩久久久久 | 男人边吻奶边挵进去视频 | 亚洲精品天堂成人片av在线播放 | 国产3p又大又爽又粗又硬免费 | 国产少妇露脸精品自啪网站 | 三级福利片 | 五月激情综合网 | 亚洲精品国产精品国自产网站 | 好男人社区www在线官网 | 99福利| 北条麻妃在线一区二区 | 欧美一区二区三区四区五区六区 | 日本精品久久久久中文字幕 | 肉色超薄丝袜脚交一区二区 | baoyu168成人免费视频 | 国产女人精品视频国产灰线 | 野战视频aaaaa免费观看 | 国产内谢 | 国产香港明星裸体xxxx视频 | 精品久久久久久中文字幕大豆网 | 国产成年无码久久久久毛片 | 久久久男人的天堂 | 欧美肥老太牲交大战 | 亚洲精品高潮 | 日韩精品影片 | 老子午夜精品无码 | 黄色片高清 | 亚洲视频综合网 | 亚色视频在线 | www五月天com| 欧美3p在线观看 | 国产超碰人人做人人爱ⅴa 日韩人妻无码精品久久久不卡 | 欧美69精品久久久久久不卡 | 亚洲一区久久 | 91在线视频导航 | 亚洲精品91 | 亚洲日韩欧洲乱码av夜夜摸 | 欧美日韩性视频 | 日韩综合中文字幕 | 狠狠做深爱婷婷久久综合一区 | 麻豆爱爱视频 | 又大又粗欧美黑人aaaaa片 | 中国女人啪啪69xxⅹ偷拍 | 亚洲男人第一av网站 | 91av久久| 久久天天东北熟女毛茸茸 | 99精品偷自拍| 麻豆一区二区99久久久久 | 色人阁在线视频 | av在线播放免费观看 | 国产一区二区三区四区三区 | 亚洲日本中文字幕乱码在线电影 | 第一136av福利视频导航 | 成年人午夜视频在线观看 | 国产香蕉精品视频 | 色狠狠久久av五月综合 | 国产精品美女久久久久久久久 | 免费精品在线 | 亚洲欧美一区二区三区在线 | 亚洲高清揄拍自拍午夜婷婷 | 男女啪啪猛烈无遮挡猛进猛出 | 韩国三级hd中文字幕三义 | 桃色激情网 | 午夜免费播放观看在线视频 | 超碰最新在线 | 高清不卡一区 | 99爱在线 | 国产igao为爱做激情在线观看 | 一二三四社区在线中文视频 | 亚洲综合成人av | 国产精品美女久久久久久久网站 | 精品午夜久久久 | 一边吃奶一边做爰爽到爆视频 | 国产国产精品人在线视 | h亚洲| 国产成人精品日本亚洲第一区 | 香蕉视频影院 | 影音先锋久久久久av综合网成人 | 日本一区二区在线视频 | 国精品无码一区二区三区左线 | 国产高清视频在线播放 | 国产黄色在线看 | 人体写真 福利视频 | 少妇一级淫片免费看 | 国产主播大尺度精品福利免费 | 久久伊人久久 | 色婷婷久久综合中文久久蜜桃av | 免费久久久久久 | 夜夜操夜夜摸 | 人妻熟妇女的欲乱系列 | 久久天天躁夜夜躁狠狠85麻豆 | 国产成人精品一区二区在线 | 蜜臀av无码人妻精品 | 天天摸天天干天天操 | 久久久精品欧美一区二区免费 | 国产大片黄在线观看私人影院 | 国产成人三级视频在线播放 | 婷婷色中文 | 欧美精品18videos性欧美 | 天堂在线精品视频 | 无码h黄肉动漫在线观看网站 | 久色国产sm重口调教在线观看 | 人人妻在人人 | 成年人免费看黄色 | 翔田千里一区二区 | 亚洲第一无码xxxxxx | 欧美乱妇在线观看 | 色悠悠av | 日本污污网站 | 中文字幕不卡在线88 | 日韩va视频 | 亚洲精品免费观看 | 国产在线一区二区三区 | 青青青国产免费线在 | 国产冒白浆 | 欧美成人秋霞久久aa片 | 亚洲精品一区国产 | 亚洲国产精品自产在线播放 | 最新日韩在线视频 | 一级全黄少妇性色生活片毛片 | 亚洲国产欧美一区二区潘金莲 | www.爱操| 日韩高清国产一区在线 | 国产乱淫a∨片免费观看 | 中日躁夜夜躁 | 国产欧亚州美日韩综合区 | 国产精品一区二区福利视频 | 999在线观看精品免费不卡网站 | 99免费观看 | 国产精品久久久久久久久久久久午衣片 | 日本特黄网站 | 日本视频网 | 成人一级影视 | 精品无码国产自产拍在线观看 | 欧美真人作爱免费视频 | 国产日韩欧美一区二区三区乱码 | 亚洲人成电影在线观看影院 | 亚洲小视频 | 九九激情视频 | 久久se精品一区精品二区 | 中文久久乱码一区二区 | 国产乱xxxxx987国语对白 | 国产精品久久久久久久久 | 日韩高清国产一区在线 | 久草在线免费资源 | 337p日本欧洲亚洲大胆艺术图 | 人妻少妇久久久久久97人妻 | 免费观看成人在线视频 | 男女一级黄色 | 国产片淫级awww | 日韩黄色短片 | 日韩一区二区三区视频在线 | 亚洲视频在线观看 | 精品福利在线视频 | 热99re6久精品国产首页青柠 | 一本一生久久a久久精品综合蜜 | 日韩激情小说 | 免费久久精品视频 | 国产精品卡一卡二卡三 | 成人在线网站 | 久久亚洲热 | 日韩不卡中文字幕 | 末发育娇小性色xxxx | 99热这里只有精 | 国内色视频 | 成人欧美一区二区三区1314 | 我要看www免费看插插视频 | 日本猛少妇色xxxxx猛叫小说 | 欧美性猛交xxxx免费看 | 偷拍成人一区亚洲欧美 | 日本精品高清一区二区 | 一级少妇片 | 欧美日韩啪啪 | 欧美高清精品 | 中午字幕无线码一区2020 | 俺去俺来也www色官网 | 无遮挡黄色| 全部a∨一极品视觉盛宴 | 亚洲女人毛片 | 久久天堂综合亚洲伊人hd妓女 | 在线免费观看视频黄 | 国产乱子伦农村xxxx | 成人免费观看黄a大片夜月小说 | 天天曰天天操 | 香蕉日日 | 少妇久久久久久被弄高潮 | 少妇视频网站 | 亚洲精品国产综合久久久久紧 | 国产精品亚洲一区二区在线观看 | 九九99九九精彩6 | 97偷拍少妇性按摩spa全程 | 亚洲精品乱码久久久久久蜜桃图片 | a√在线| 久久久久久久女国产乱让韩 | 国产亚洲精品自在久久 | 黄色三级网站在线观看 | 在线播放少妇奶水过盛 | av色欲无码人妻中文字幕 | 国产精品18久久久久久久久 | 噜噜视频| 亚洲精品人成无码中文毛片 | 亚洲黄色小说图片 | 成人免费观看在线视频 | 亚洲乱亚洲乱妇无码 | 午夜合集 | 亚洲狠狠婷婷综合久久 | 俄罗斯美女真人性做爰 | 久久少妇视频 | 美女久久久久久久 | 午夜免费视频观看 | 无码专区3d动漫精品免费 | 国产乱淫a∨片免费视频牛牛 | 99精品久久久久 | 乌克兰丰满少妇毛片 | 日韩第一页在线观看 | 日韩精品一区二区三区在线观看视频网站 | 尤物精品视频在线观看 | 色五月丁香六月欧美综合 | 99精品国自产在线观看 | 国产综合精品一区二区三区 | 无码国产精品一区二区免费i6 | 亚洲性欧美 | 国产精品爱久久久久久久 | 超h高h肉h文教室学长男男视频 | 精品久久久久久亚洲综合网 | 九九热久久免费视频 | 日韩成人综合 | 免费看操片 | 久久青草免费视频 | 中文字幕精品av一区二区五区 | 亚洲精品av一二三区无码 | 日日av拍夜夜添久久免费 | 国产三级精品三级在线观看 | 91麻豆精品国产91久久久更新时间 | 国产视频你懂得 | 中文字幕中文有码在线 | 午夜丰满少妇高清毛片1000部 | 日本在线免费观看视频 | 国内老熟妇对白xxxxhd | 日韩一区二区欧美 | 荫蒂添的好舒服视频囗交 | 激情欧美一区二区三区 | 国模一区二区三区白浆 | 91亚洲精品丁香在线观看 | 亚洲美女屁股眼交8 | 欧美在线性视频 | 日韩免费视频观看 | 直接看的av| 一区二区三区在线观看视频 | 先锋影音av资源在线观看 | 能在线观看的av网站 | 久久精品国产三级 | 日日噜噜噜夜夜爽爽狠狠视频寻花 | 亚洲精品一区二区三区中文字幕 | 亚洲午夜福利av一区二区无码 | www在线播放 | 爱久久av一区二区三区 | 中国字幕一色哟哟 | 首尔之春在线观看 | 欧美涩涩涩 | 成人看的毛片 | 亚洲成av人片在一线观看 | 黄网站色视频免费观看 | 亚洲人成网站色www 久久在线视频免费观看 | 一区二区三区有限公司 | 日本一道高清一区二区三区 | a级成人毛片 | 欧美性猛交ⅹxx | 精品国产老女人乱码 | 搡少妇在线视频中文字幕 | 免费激情 | 日日操日日碰 | 亚洲高清毛片一区二区 | 69网址| 农村偷人一级超爽毛片 | 日本xxxx18| 1级片在线观看 | a天堂在线观看视频 | 精品国产午夜福利在线观看 | 天天干天天拍 | 三级特黄特色视频 | 国产精品久免费的黄网站 | 欧美成人第一页 | 天天躁日日躁aaaaxxxx | 国产人妻黑人一区二区三区 | 日韩精品无码一区二区 | 亚洲一区二区三区四区五区不卡 | 国语对白永久免费 | 国产成人av一区二区三区在线观看 | 波多野结衣一本一道 | 久久夜色精品国产www红杏 | 侵犯亲女在线播放视频 | 蜜臀一区二区三区精品免费视频 | 日本精品777777免费视频 | 99精品在线观看视频 | 亚洲第一伊人 | 丁香五月亚洲综合在线 | 欧美第一页在线观看 | 亚洲日本视频在线观看 | 亚洲国产精品成人综合久久久 | 樱花av在线 | 国产免费又黄又爽又色毛 | 蜜臀av首页 | 第四色影音先锋 | 日本啪啪动态图 | 午夜偷拍福利 | 亚洲国产成人无码av在线播放 | 亚洲精品国产一区黑色丝袜 | 老妇裸体性激交老太视频 | 亚洲午夜av久久乱码 | 夜夜嗨av一区二区三区网页 | 91手机在线看片 | 少妇粉嫩小泬喷水视频 | 后入内射欧美99二区视频 | 久久精品久久久久观看99水蜜桃 | mm131国产精品| 日本精品高清一区二区 | 污漫网站| aa片在线观看视频在线播放 | 亚洲国产成人a精品不卡在线 | 公的~yin之手筱田优中文字幕 | 国产视频日本 | 国产精品www色诱视频 | 国产91综合 | 中文字幕 欧美激情 | 欧美不卡一区二区 | 色屋在线 | 国产精品视频 | 91精品国产综合久久福利不卡 | 成人性生生活性生交视频 | 好吊操视频这里只有精品 | 97超碰资源站 | 色综合久久综合欧美综合网 | 精品一区二区三区在线播放 | 黄色一极毛片 | 午夜美女福利 | 大战肉丝少妇在线观看 | 毛片在线网站 | 免费观看日本污污ww网站 | 久久精品79国产精品 | 四虎精品在线播放 | 成人丁香婷婷 | 懂色av色香蕉一区二区蜜桃 | 天海翼一区二区三区免费 | 欧美日韩免费一区 | 精品99在线 | 亚洲精品美女 | 午夜色片| 久久久一二三四 | 中文字幕一区二区三区免费视频 | 天天噜日日噜 | av在线浏览| 总受合集lunjian双性h | 亚洲欧美综合另类自拍 | 伊人在线视频 | 谁有免费黄色网址 | 亚洲国产精华液网站w | 成年人www| 99久re热视频这里只有精品6 | 高清视频在线播放 | 久久成人免费网站 | 成人少妇影院yyyy | 欧美精品视 | 国产成人精品亚洲777人妖 | 在线观看国产区 | 国产毛片网 | 97国产大学生情侣白嫩酒店 | 国产成人免费爽爽爽视频 | √天堂8资源中文在线 | 中文字幕免费在线看线人动作大片 | 狠狠色噜噜狠狠狠 | 中文字幕在线人 | 国产精品噜噜噜66网站 | 免费看黄在线看 | 久久av无码精品人妻系列试探 | 色无五月 | 寂寞少妇让水电工爽hd | 亚洲奶汁xxxx哺乳期 | 日韩久久久久久久久 | 日韩在线三级 | 成人亚洲综合 | 免费看男女做好爽好硬视频 | hd最新国产人妖ts视频 | 久久久久国产精品无码免费看 | 成人性生交大片xbxb | 韩日在线视频 | 国产精品av在线免费观看 | 九九久久精品国产免费看小说 | 三区在线 | 免费看一级特黄a大片 | 欧美亚洲一二三区 | 欧美性受xxxx黒人xyx性爽 | 亚洲欧美另类综合偷拍 | 在线日本看片免费人成视久网 | 免费黄色小说视频 | 天天综合亚洲 | 国产三级无码内射在线看 | 国产乱人伦偷精品视频免下载 | 又色又爽又黄又刺激免费 | 亚洲线精品一区二区三区八戒 | 在线国产中文字幕 | 亚洲狠 | 精品国产乱码久久久久久1区2区 | 国产精品aⅴ | 亚洲成av人影院 | 亚洲一区精品无码 | 日韩视频一区在线 | www日韩欧美 | 女超人h版av在线看 女儿的朋友4在线观看 | 关晓彤三级在线播放 | 成人欧美一区二区三区在线 | 中文在线免费观看 | 日欧一片内射va在线影院 | 亚洲乱码中文字幕综合 | 正在播放adn156松下纱荣子 | www片香蕉内射在线88av8 | 日本在线高清视频 | 嫩草视频入口 | 四虎影视大全 | 国产一区二区免费播放 | 成人a v视频 | 国产肉体xxxx裸体137大胆 | 午夜免费毛片 | 他揉捏她两乳不停呻吟动态图 | 亚洲元码 | 国产欧美日韩精品专区黑人 | 国产精品视频999 | 色综亚洲国产vv在线观看 | 精品视频久久久久久 | 中国69av | 亚洲精品在线观看视频 | 国产又色又爽又黄刺激在线视频 | 久久久中日ab精品综合 | 国产精品久久久久久久久久10秀 | 杨思敏全身裸体毛片看 | 无码中文人妻在线一区二区三区 | 国产91精品久久久久久久网曝门 | 日本欧美精91品成人久久久 | 少妇哺乳期啪啪 | 国内毛片精品av一二三 | 日本在线一区二区 | 亚洲国产精彩中文乱码av | 激情久久av一区av二区av三区 | 日本ⅹxxxxoo69| 日本国产一区二区三区在线观看 | 成人免费视频国产 | 久久久精品国产免大香伊 | 中文字幕日韩精品亚洲七区 | 中文字幕乱码亚洲无线码按摩 | 成人黄色片视频 | av毛片久久久久午夜福利hd | 国产自产精品 | 亚洲欧美视频在线播放 | 国内精品在线观看视频 | 久久h视频| 特黄特色大片免费播放叫疼 | 嫩草av在线 | 国产成人免费观看视频 | 色网站女女 | 日韩一区二区三区精品视频 | 中文字幕av一区二区三区人妻少妇 | 超碰国产人人 | 亚洲日本中文字幕乱码在线电影 | 久久久精品在线观看 | 日本午夜啪啪 | 强行处破女系列中文字幕 | 欧美第一黄网免费网站 | 丁香婷婷激情综合俺也去 | 国产一区二区三区四区五区精品 | 国产精品一区二区不卡 | 免费日本黄色网址 | 国产精品日韩精品 | 在线国产区 | 久久久久久九九九九九 | 亚洲国产成人在线观看 | 国产又粗又猛又爽又黄的视频9 | 久久99深爱久久99精品 | 日本午夜理伦影片大全 | 成人3d动漫一区二区三区 | www.成人国产 | 国产精品午夜一区 | 成人在线视频免费 | 日日摸日日 | 18禁真人抽搐一进一出在线 | 一二三区乱码2021 | 2014亚洲天堂 | 亚洲二区视频 | 久久视频国产 | 国产精品久久久久久久久久东京 | 国产成熟人妻换╳╳╳╳ | 9l视频自拍九色9l视频视频 | 一级黄色在线观看 | 色欧美片视频在线观看 | 免费观看添你到高潮视频 | 色在线免费观看 | 91嫩草香蕉| 国产主播啪啪 | 性做久久久久久久免费看 | 午夜视频在线免费 | 欧美激情第三页 | 中国亲与子乱ay中文 | 亚洲人亚洲人成电影网站色 |