欧美亚洲韩国_av电影院在线看_久久久久97_台湾佬中文娱乐网欧美电影

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

實例詳解thinkphp6搭建后端api接口

本篇文章給大家?guī)砹岁P于thinkPHP的相關知識,其中主要介紹了搭建后端api接口的相關問題,主要內容有下載tp6、隱藏入口文件、解決跨域問題等等,希望對大家有幫助。

實例詳解thinkphp6搭建后端api接口

推薦學習:《PHP視頻教程》

1、下載tp6

我使用的是集成環(huán)境phpstuday,安裝了composer,通過composer安裝tp6,thinkphp官網(wǎng)已經不再支持直接下載。

composer create-project topthink/think tp6

你也可以直接按照tp6看云文檔的步驟來安裝tp6

在下載好的tp6目錄通過cmd命令窗口輸入

php think run

在瀏覽器中輸入127.0.0.1:8000,訪問到如下頁面就安裝成功了
實例詳解thinkphp6搭建后端api接口

2、打開錯誤調試

在開始之間,我們先打開tp6的錯誤調試
1.找到config/app.php下的show_error_msg ,改成true
實例詳解thinkphp6搭建后端api接口
2.找到下面根目錄下的.example.env文件,重命名此文件,把.example刪掉
實例詳解thinkphp6搭建后端api接口
查看這里面的代碼,會發(fā)現(xiàn),它打開了app_debug調試
實例詳解thinkphp6搭建后端api接口
這樣我們就能看到完整的報錯信息了,例如:
實例詳解thinkphp6搭建后端api接口

3、隱藏入口文件

在第1節(jié)中,我們訪問

http://127.0.0.1:8000

實際訪問的是

http://127.0.0.1:8000/index.php/index/index

你也可以通過這樣的方式訪問

http://127.0.0.1:8000/index/index

如果什么都不填,默認訪問的就是index控制器,在config/app.php文件中有這樣的定義,你也可以修改默認的控制器
實例詳解thinkphp6搭建后端api接口
還有,不管訪問任何控制器,如果沒有填方法,它都會訪問控制器中的index方法,如果index方法不存在,則提示錯誤信息-方法不存在。
通過在項目根目錄中運行的php think run開啟的web服務,tp6幫我們做了隱藏入口文件的操作,所以你可以通過第三種方式訪問。但是我們這一節(jié)要說的就是隱藏入口,怎么能用tp6自帶的web服務呢。所以要自己來。
我們在開發(fā)時,往往會在本地搭建WNMP等這樣的一套web解決方案,這就需要我們自己去隱藏入口文件index.php

為什么要隱藏入口文件?

  1. 因為像這樣子http://127.0.0.1:4321/index.php/index/index訪問方法,這個index.php很不好看。
  2. 多余。
  3. 危險

我這里因為用的集成環(huán)境,選用的是apache服務器,所以我只找了apache的隱藏入口文件的方法,nginx的需要自己搜索了。
現(xiàn)在我啟用apache服務器,開的端口是4321
實例詳解thinkphp6搭建后端api接口

當我想通過

http://127.0.0.1:4321/index/index

去訪問方法時,訪問失敗
實例詳解thinkphp6搭建后端api接口
而我加上入口文件訪問時,訪問成功

http://127.0.0.1:4321/index.php/index/index

實例詳解thinkphp6搭建后端api接口
實現(xiàn)隱藏index.php很簡單,只需要找到public目錄下的.htaccess文件,添加如下代碼就可以了。

<IfModule mod_rewrite.c> #如果mode_rewrite.c模塊存在 則執(zhí)行以下命令   Options +FollowSymlinks -Multiviews   RewriteEngine On #開啟 rewriteEngine   # !-d 不是目錄或目錄不存在   RewriteCond %{REQUEST_FILENAME} !-d    # !-f 不是文件或文件不存在   RewriteCond %{REQUEST_FILENAME} !-f     RewriteRule ^(.*)$ index.php [QSA,PT,L]   # 參數(shù)解釋   # ^(.*)$: 匹配所有的路口映射   # QSA: (Query String Appending)表示保留參數(shù)入get傳值?xxx==xx;   # PT: 把這個URL交給Apache處理;   # L: 作為最后一條,遇到這條將不再匹配這條之后的規(guī)則</IfModule>

現(xiàn)在訪問

http://127.0.0.1:4321/index/index

訪問成功
實例詳解thinkphp6搭建后端api接口

需要注意,在第一節(jié)中我們看到,運行了php think run 后,我們的項目目錄訪問的是public目錄
實例詳解thinkphp6搭建后端api接口
官方文檔中也說在項目中應該只有public目錄是可以被外界訪問的,所以如果有什么需要訪問的圖片、視頻等資源,應該放在此目錄下

4、解決跨域問題

在應用開發(fā)中,前后端都是分開獨立開發(fā)的,而前后端通常都會自己搭建一個web服務,運行在不同的端口上,在前端訪問后端的接口時,會報跨域的錯誤。而這種跨域問題通常是要有后端來處理的,tp6有專門的中間件來做這個事情,真是太方便了,只需要在app目錄下的middleware.php中添加該中間件,就實現(xiàn)了跨域訪問。

<?php// 全局中間件定義文件return [     // 全局請求緩存     // thinkmiddlewareCheckRequestCache::class,     // 多語言加載     // thinkmiddlewareLoadLangPack::class,     // Session初始化     // thinkmiddlewareSessionInit::class     // 跨域解決     thinkmiddlewareAllowCrossDomain::class,];

5、路由解決api版本控制

在app目錄中的container控制器中新建兩個文件夾v1,v2,在其中都創(chuàng)建User.php文件
實例詳解thinkphp6搭建后端api接口
v1/User.php

<?phpnamespace appcontrollerv1;use appBaseController;class User extends BaseController{     public function login()     {       return '我是v1';     }}

v2/User.php

<?phpnamespace appcontrollerv2;use appBaseController;class User extends BaseController{     public function login()     {       return '我是v2';     }}

注意上面兩個文件的命名空間,就第一行代碼,在哪個文件夾下,就寫到哪里。
現(xiàn)在方法有了,我們還無法訪問,需要使用路由,讓路由幫我們找對應的方法。

至于路由的概念去文檔自己看。我這里主要用路由組的方式,我覺得這個比資源路由好用,靈活。

在根目錄下的route目錄下的app.php文件代碼如下:

<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: liu21st <liu21st@gmail.com>// +----------------------------------------------------------------------use thinkfacadeRoute;// api版本控制$v = request()->header('Api-Version');// 默認api版本為v1if ($v == null) $v = "v1";// 用戶Route::group('user', function () {   Route::post('login', 'login');})->prefix($v.'.user/')->pattern(['id' => 'd+']);

以上代碼進行控制api版本的方式是,請求發(fā)起者在header中傳遞要訪問的api的版本,這里獲取到對應的版本,訪問對應的方法。

鑒于以上我使用的是post請求,且要傳遞header,所以使用postman進行測試。
訪問v1版本的接口時:
實例詳解thinkphp6搭建后端api接口
訪問v12版本的接口時:
實例詳解thinkphp6搭建后端api接口

6、jwt token驗證

我用的是tp6看云文檔收錄的插件

composer require thans/tp-jwt-auth

該插件的github地址-文檔
在開始之前可以看看文檔里是怎么操作的,我也是按照文檔來的

安裝完成后,該插件所在的位置在根目錄下的vendor/thans/tp-jwt-auth
還會在根目錄下的config目錄下生成jwt.php文件來記錄一些配置信息
實例詳解thinkphp6搭建后端api接口
看這里都是讀取的env中的參數(shù),所以咱也在根目錄下的.env文件中配置參數(shù)。
在根目錄下打開cmd窗口,執(zhí)行

php think jwt:create

會幫你在.env文件中生成密鑰secret,紅色框中的是新增的內容
實例詳解thinkphp6搭建后端api接口
token的有效期為60秒,為了方便我們測試,我就不改了,如果你要改,可以在.env中添加,這樣就改成了1小時
實例詳解thinkphp6搭建后端api接口
這個插件有三種方式【header,token,param】傳遞token,我就使用其中一個,也是最常用的一種,就是在【header】中傳遞token信息,這個插件默認驗證header中的token信息需要傳遞的參數(shù)名為authorization,而在header中直接傳遞該參數(shù)tp6是獲取不到的,需要做一些設置,
在根目錄中的public目錄下的.htacccess文件中添加

SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0

實例詳解thinkphp6搭建后端api接口
那么現(xiàn)在開始測試:

(1).生成token

我就在之前創(chuàng)建的v1/User.php控制器中寫了

<?phpnamespace appcontrollerv1;use appBaseController;// 引入jwt插件use thansjwtfacadeJWTAuth;class User extends BaseController{     public function login()     {       // 生成token       $token = JWTAuth::builder(['uid' => 1,'name'=>'ceshi']);       return $token;     }}

在postman中測試
實例詳解thinkphp6搭建后端api接口

(2).驗證token

我使用的是路由中間件的方式驗證token,

寫一個中間件

在根目錄下的app目錄中創(chuàng)建middleware目錄,在其下創(chuàng)建CheckToken.php文件
app/middleware/CheckToken.php
實例詳解thinkphp6搭建后端api接口
文件內容

<?phpnamespace appmiddleware;use thansjwtfacadeJWTAuth;use thansjwtexceptionJWTException;class CheckToken{     public function handle($request, Closure $next)     {     	// OPTIONS請求直接返回         if ($request->isOptions()) {             return response();         }     	try {             JWTAuth::auth();         }catch (JWTException $e) {         	return json($e->getMessage());         }         return $next($request);     }}
起別名

給該中間件起個別名,在根目錄下的config/middleware.php文件中
實例詳解thinkphp6搭建后端api接口

在路由文件中使用中間件

實例詳解thinkphp6搭建后端api接口

創(chuàng)建對應的方法

在第三步中我們創(chuàng)建了一個getUserInfo()方法,現(xiàn)在在User.php文件中創(chuàng)建

public function getUserInfo() {    return json(['id'=>1, 'name'=> '啦啦啦']);}

實例詳解thinkphp6搭建后端api接口

驗證一下

剛剛創(chuàng)建的token必然過期了,咱重新獲取一條
實例詳解thinkphp6搭建后端api接口

現(xiàn)在驗證一下,請求userinfo方法,并在header中添加參數(shù)Authorization,
注意:token值需要加上bearer ,bearer后的空格也要的。
實例詳解thinkphp6搭建后端api接口
過了一分鐘后,我們再來試一試
實例詳解thinkphp6搭建后端api接口
可以看到token驗證提示,該通過過期了,這個插件成功了,并沒有繼續(xù)往下走,把之前的信息返回。

(3).注銷token

這個插件在github中的文檔中沒有說到怎么注銷或刪除token,只有一個刷新refresh和拉黑invalidate,我看了一下它的代碼,刷新方法中會調用拉黑方法,看到這個注釋,讓我激動了一下,雞兒!原來拉黑就是注銷
實例詳解thinkphp6搭建后端api接口
這個拉黑的具體操作就是把你要注銷的token保存在本地的cookie中,默認的保存時間是14天,14天后cookie會自己刪除的,你可以在根目錄下的runtime目錄下的cache目錄中找到對應的文件,我就不測試這個方法了,我感覺這個操作好像沒什么必要。

文件內容形似這樣
實例詳解thinkphp6搭建后端api接口
至此token這節(jié)就結束了。

什么?
你想改默認的token名稱?那你可得好好研究這個插件了,看看怎么改,改完了記得踢我一腳,讓我也看看,雖然我覺得一個Authorization已經夠用了。
實例詳解thinkphp6搭建后端api接口

7、統(tǒng)一的參數(shù)返回形式

實際開發(fā)中,后端返回給前端的參數(shù)往往都是這樣的。
實例詳解thinkphp6搭建后端api接口
所以我們需要對參數(shù)返回形式做個統(tǒng)一的處理
在app目錄下的common.php中定義的方法全局都可調用,所以在這個文件中定義此方法。

<?phpuse thinkResponse;// 應用公共文件// 統(tǒng)一返回數(shù)據(jù)格式function result($data = [], string $msg = 'error', int $code = 200, string $type = 'json'):Response {   $result = [       "code" => $code,       "msg" => $msg,       "data" => $data   ];   // 調用Response的create方法,指定code可以改變請求的返回狀態(tài)碼   return Response::create($result, $type)->code($code);}

唉,這個時候,經驗的重要性就體現(xiàn)出來,我是個前端,而且在我自己看來,還算是個沒有工作經驗的前端,

  1. 不知道他們后端到底怎么處理這個狀態(tài)碼,網(wǎng)上的東西越看越亂,狀態(tài)碼可以分為業(yè)務狀態(tài)碼和請求返回的狀態(tài)碼,我這里就簡單了,就只有請求返回的狀態(tài)碼,雖然在返回的數(shù)據(jù)中也傳遞了這個碼,其實沒什么用,小項目、不復雜的項目根本用不少業(yè)務狀態(tài)碼。
  2. 我看別人還會單獨分裝成功和失敗的方法,這個就看自己習慣了,我感覺好像沒啥必要。
  3. 終究是經驗不足,網(wǎng)上能參考的代碼太少,還千篇一律,最可氣的是一篇文章居然可以在多個博客網(wǎng)站上出現(xiàn),別人抄的、復制的就算了,作者自己也發(fā)這么多地方,真的搞笑,百度一下,跳出來全是同一個,標題也是一樣,很迷~。

調用就很簡單了,可以直接使用
我們還是改一下login方法

public function login(){    $data = [      ['id'=>1,'name'=>'杰森'],      ['id'=>2,'name'=>'麥克']    ];    $code = 200;    $msg = '獲取成功';    return result($data, $msg, $code);  }

實例詳解thinkphp6搭建后端api接口
返回結果
實例詳解thinkphp6搭建后端api接口
這樣好像沒有體現(xiàn)我們修改的請求的狀態(tài)碼,那我們把$code改成500,再來看看結果如何
實例詳解thinkphp6搭建后端api接口
咱已經成功的將改請求狀態(tài)變成了500
得嘞,現(xiàn)在再來回頭看看我們之前寫的檢查jwt的中間件,把返回的結果封裝一下
實例詳解thinkphp6搭建后端api接口
再去驗證一下看看,看著返回的結果就舒服多了,這特么才是后端給前端返回的結果。
實例詳解thinkphp6搭建后端api接口
本小節(jié)結束,記錄一下一些常見的狀態(tài)碼,我在自己寫的時候就只用到了這些狀態(tài)碼

狀態(tài)碼 描述
200 請求成功
204 請求成功,未返回實體,比如option請求,這玩意兒用不著呀
400 錯誤的請求
401 認證失敗,這個一般在token驗證那里
403 拒絕訪問
404 請求的資源不存在
422 參數(shù)驗證錯誤
500 服務器錯誤

7、異常捕捉

異常捕捉(看云文檔)內容挺多的,自己去百度吧,我就把我遇到過的常見的錯誤進行捕捉,其它的異常我也愛莫能助,不懂啊 !>_>!
我也就不自定義類了,直接在它給的默認的異常處理文件里寫了。
實例詳解thinkphp6搭建后端api接口

(1)參數(shù)驗證錯誤捕捉

我們先寫一個參數(shù)驗證的類,在app目錄下創(chuàng)建validate目錄,創(chuàng)建User.php文件
實例詳解thinkphp6搭建后端api接口
app/validate/User.php

<?phpnamespace appvalidate;use thinkValidate;class User extends Validate{     protected $rule =   [         'name'  => 'require|max:25',         'age'   => 'number|between:1,120',         'email' => 'email',         ];          protected $message  =   [         'name.require' => '名稱必須',         'name.max'     => '名稱最多不能超過25個字符',         'age.number'   => '年齡必須是數(shù)字',         'age.between'  => '年齡只能在1-120之間',         'email'        => '郵箱格式錯誤',         ];     }

tp6的異常捕捉分為兩種,自動和手動的,手動的就是通過try{}catch{}捕捉。tp6的異常捕捉大多是自動的,不過,比如我們現(xiàn)在要操作的參數(shù)驗證錯誤就需要自己去捕捉來拋出異常,我們此節(jié)的目的是統(tǒng)一捕捉這個錯誤,我就不用手動的了。
我們就在異常處理類的render方法中添加這個捕捉拋出就可以了。
實例詳解thinkphp6搭建后端api接口

// 1.參數(shù)驗證錯誤  if ($e instanceof ValidateException) {      return result($e->getError(), '參數(shù)驗證不通過', 422);  }

現(xiàn)在在方法中一下,看看能否捕獲。
app/controller/v1/User.php
實例詳解thinkphp6搭建后端api接口
查看結果,成功被捕獲到了,并拋出了錯誤內容
實例詳解thinkphp6搭建后端api接口
如果驗證通過了,就會正常的走下去,則會顯示我return的測試內容
實例詳解thinkphp6搭建后端api接口

(2)未匹配到資源或方法的異常捕獲

我還沒找到方法,在我的預想中這個應該要做到能夠準確的反應未匹配到的原因。

// 2.方法(控制器、路由、http請求)、資源(多媒體文件,如視頻、文件)未匹配到,// 一旦在定義的路由規(guī)則中匹配不到,它就會直接去匹配控制器,但是因為在控制器中做了版本控制v1,v2這樣的,所以它是無法獲取對應控制器的// 所以都會直接走了HttpException的錯誤// 感覺好像也無所謂,反正是做api接口的,只不過這樣就不好準確的提示信息了// 到底這個請求時控制器找不到呢?還是方法找不到?還是請求類型(get,post)不對?if(($e instanceof ClassNotFoundException || $e instanceof RouteNotFoundException) || ($e instanceof HttpException && $e->getStatusCode()==404)){   $data = [     'err_msg' => $e -> getMessage(),     'tips_1' => '請檢查路徑是否是否填寫正確',     'tips_2' => '請檢查請求類型是否正確',   ];   return result($data, '方法或資源未找到,請檢查', 404);}

下面就不寫了,太麻煩了,直接放全部代碼

<?phpnamespace app;use ParseError; // 語法錯誤use TypeError;use InvalidArgumentException; // 參數(shù)錯誤use thinkdbexceptionDataNotFoundException;use thinkdbexceptionModelNotFoundException;use thinkdbexceptionPDOException; // 數(shù)據(jù)庫連接錯誤use thinkdbexceptionDbException; // 數(shù)據(jù)庫模型訪問錯誤,比如方法不存在use thinkexceptionRouteNotFoundException;use thinkexceptionClassNotFoundException;use thinkexceptionFuncNotFoundException;use thinkexceptionFileException;use thinkexceptionHandle;use thinkexceptionHttpException;use thinkexceptionHttpResponseException;use thinkexceptionValidateException;use thinkexceptionErrorException;use thinkResponse;use Throwable;/**  * 應用異常處理類  */class ExceptionHandle extends Handle{     /**      * 不需要記錄信息(日志)的異常類列表      * @var array      */     protected $ignoreReport = [         HttpException::class,         HttpResponseException::class,         ModelNotFoundException::class,         DataNotFoundException::class,         ValidateException::class,     ];      /**      * 記錄異常信息(包括日志或者其它方式記錄)      *      * @access public      * @param  Throwable $exception      * @return void      */     public function report(Throwable $exception): void     {         // 使用內置的方式記錄異常日志         parent::report($exception);     }      /**      * Render an exception into an HTTP response.      *      * @access public      * @param thinkRequest   $request      * @param Throwable $e      * @return Response      */     public function render($request, Throwable $e): Response     {         // 添加自定義異常處理機制         // 請求異常         if ($e instanceof HttpException && $request->isAjax()) {             return response($e->getMessage(), $e->getStatusCode());         }         // 使用了錯誤的數(shù)據(jù)類型 或 缺失參數(shù)         if ($e instanceof InvalidArgumentException || $e instanceof ErrorException) {           $fileUrlArr = explode(DIRECTORY_SEPARATOR, $e->getFile());           $data = [             'err_msg' => $e->getMessage(),             'file' => $fileUrlArr[count($fileUrlArr) - 1],             'line' => $e->getLine()           ];           return result($data, '參數(shù)錯誤', 413);         }         // 1.參數(shù)驗證錯誤         if ($e instanceof ValidateException) {             return result($e->getError(), '參數(shù)驗證不通過', 422);         }         // 2.方法(控制器、路由、http請求)、資源(多媒體文件,如視頻、文件)未匹配到,         // 一旦在定義的路由規(guī)則中匹配不到,它就會直接去匹配控制器,但是因為在控制器中做了版本控制v1,v2這樣的,所以它是無法獲取對應控制器的         // 所以都會直接走了HttpException的錯誤         // 感覺好像也無所謂,反正是做api接口的,只不過這樣就不好準確的提示信息了         // 到底這個請求時控制器找不到呢?還是方法找不到?還是請求類型(get,post)不對?         if(($e instanceof ClassNotFoundException || $e instanceof RouteNotFoundException) || ($e instanceof HttpException && $e->getStatusCode()==404)){           $data = [             'err_msg' => $e -> getMessage(),             'tip_1' => '請檢查路徑是否是否填寫正確',             'tips_2' => '請檢查請求類型是否正確',           ];           return result($data, '方法或資源未找到,請檢查', 404);         }         // 3.語法錯誤         if ($e instanceof ParseError) {           $fileUrlArr = explode(DIRECTORY_SEPARATOR, $e->getFile());           $data = [             'err_msg' => $e->getMessage(),             'file' => $fileUrlArr[count($fileUrlArr) - 1],             'line' => $e->getLine()           ];           return result($data, '服務器異常-語法錯誤', 411);         }         // 4.數(shù)據(jù)庫錯誤         if ($e instanceof PDOException || $e instanceof DbException) {           $fileUrlArr = explode(DIRECTORY_SEPARATOR, $e->getFile());           $data = [             'err_msg' => $e->getMessage(),             'file' => $fileUrlArr[count($fileUrlArr) - 1],             'line' => $e->getLine()           ];           return result($data, '服務器異常-數(shù)據(jù)庫錯誤', 412);         }         // 其他錯誤交給系統(tǒng)處理         return parent::render($request, $e);     }}

本節(jié)結束,這里面用的錯誤處理都是我在平常練習中遇到的錯誤,至于其他的沒有處理是因為我還沒碰到,碰到再說吧。為了給前端好的反饋,我們應該處理所有的異常的返回形式,不然,tp6默認返回頁面形式的,前端等于得不到相應了。至于這個自定義異常捕獲,應該有相應的插件的吧,你要是感興趣可以去找找。

7、自動生成api文檔

之前我還很好奇,后端是怎么搞出接口文檔的,都是自己錄入數(shù)據(jù)套模板的嗎?原來他么的都是插件做的,真他么方便!!!

(1)安裝插件

composer require hg/apidoc// 文檔// https://hgthecode.github.io/thinkphp-apidoc/guide/install/

你就照著插件的文檔來就好了,不用跟著我。

(2)下載對應的前端頁面

下載最新的,放在public目錄下
實例詳解thinkphp6搭建后端api接口

(3)使用

具體配置你還得看文檔,我就直接照著最簡單的做了,
我就試一個,將app/controller/v1/User.php寫了注釋,它會讀注釋生成接口文檔

引入注釋

app/controller/v1/User.php

<?phpnamespace appcontrollerv1;use appBaseController;// 添加這句,注釋寫法為 @Apidoc參數(shù)名(...)use hgapidocannotation as Apidoc;/**  * @ApidocTitle("V1")  * @ApidocGroup("base")  */class User extends BaseController{     /**       * @ApidocTitle("登錄")       * @ApidocUrl("v1.user/login")       * @ApidocTag("測試 基礎")       * @ApidocParam("username", type="string",require=true, desc="用戶名" )       * @ApidocParam("password", type="string",require=true, desc="密碼" )       * @ApidocReturned("id", type="int", desc="新增用戶的id")       */      public function login()     {        return result(null, '成功', 200);     }}
查看效果

實例詳解thinkphp6搭建后端api接口
這個接口文檔這里有點小問題,因為我們前面使用在header中添加api版本的方式控制請求的api版本,所以如果直接用/user/login是無法訪問到控制器的,也就訪問不到方法,必須得加上控制器所在位置的信息,就在前面加上了v1,變成了v1.user/login。這種形式是通過控制器去訪問的方法,顯然不理想,我想要達到的目標是不需要再里面加上v1,這個還得好好研究研究,不然前面定義的路由不是跟這個接口文檔對不上了嗎?你們要是研究到了,記得踢我一腳哈 >_>!

#后記:當時只是練習一下我,我也沒深究,but其實這個apidoc它的官方文檔里有設置項的,關于這個多應用/多版本的配置項,去apidoc的文檔去看吧,在config/apidoc.php修改apps的配置就可以了,然后就可以通過右上角的選擇框切換版本了

    // 設置應用/版本(必須設置)     'apps'           => [         [             'title'=>'演示示例',             'path'=>'app',             'folder'=>'controller',             'items'=>[                 ['title'=>'V1.0','path'=>'appcontrollerv1','folder'=>'v1'],                 ['title'=>'V2.0','path'=>'appcontrollerv2','folder'=>'v2']             ]         ],     ],

推薦學習:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
主站蜘蛛池模板: 性猛交富婆╳xxx乱大交天津 | 午夜痒痒网 | 少妇av一区| 亚洲成人7777 | 国产涩涩 | 亚洲拍拍视频 | 中文字幕综合在线分类 | 国产三级91 | 在线网站黄 | 国产网站黄 | 精品 | 久久一级片免费看 | 亚洲欧美日韩色 | 日本视频网站在线观看 | 国产成人精品久久 | 日韩在线播放一区二区 | 成年人看的网站 | 黄色激情网址 | 偷拍福利视频 | 黄色片在线免费观看 | 孕妇一级片 | 刘玥91精选国产在线观看 | 一级全黄少妇性色生活片 | 日韩福利片 | 久久久免费高清视频 | 青青操久久 | 国产精品福利视频一区 | 啪啪免费网| 经典杯子蛋糕日剧在线观看免费 | 久久国产成人精品av | 国产日韩中文 | 久久久综合精品 | 福利视频三区 | 波多av在线 | 成人精品区 | 黄网站在线观看视频 | 手机看片欧美日韩 | 俄罗斯破处| 国产性一乱一性一伧一色 | 国产性猛交普通话对白 | 久草视频一区二区 | 精品国产1区2区 | 欧美三级成人理伦 | 国产精品xxx在线观看www | 中文字幕在线观看第一页 | 视频在线观看视频 | 亚欧洲精品在线视频免费观看 | 毛片a| 色人综合 | 91精品国产一区二区三区蜜臀 | 久久国产一区二区三区 | jlzzjlzz欧美大全| 污视频网址 | 人人看人人射 | 亚洲乱码国产乱码精品精98 | 国产一区日韩精品 | 亚洲乱码日产精品bd | 亚洲欧美视频在线 | 日韩精品一区二区三区在线观看 | av网址有哪些 | 亚洲网在线观看 | 国产一级在线 | 2022国产精品| 亚洲黄在线观看 | 奇米久久 | 日韩精品一区二区在线观看 | 99免费在线视频 | 视频在线一区二区三区 | 综合久久亚洲 | 制服丝袜第一页在线观看 | 欧美一区二| 国产欧美亚洲精品 | 夜夜嗨网站 | 国产字幕在线观看 | 性做久久久久久久久久 | 在线观看亚洲视频 | 日本久久伊人 | 国产精品原创av | 免费日b视频 | 波多野结衣中文一区 | 日日干日日 | 青青草娱乐在线 | 国产在线看 | 成人免费大片黄在线播放 | 亚洲一区二区三区黄色 | 久久免费在线 | 欧美另类在线视频 | 国产精品成人免费 | 寂寞午夜影院 | 日韩精品在线一区二区 | 国产网站大全 | 农村妇女愉情三级 | 一本大道香蕉在线播放 | www.youjizz视频| a级黄色网 | 色精品 | 在线伊人网 | 一级免费在线观看 | 国产一区二区激情视频 | 人人干在线视频 | 久久99精品久久久久久无毒不卡8 | 亚洲欧美中文字幕 | h国产视频| av在线免费不卡 | 窝窝午夜影院 | 特级av| 欧美日韩在线免费 | 欧美一区,二区 | 四虎av影院 | 亚洲国产高清视频在线观看 | 国产精品美女久久久久久久久 | 日韩福利视频 | 最新在线视频 | 97超碰自拍 | 精品久久久久久久 | 国产免费小视频 | 99re视频 | 中国一极毛片 | 国产精品porn | 久久福利在线 | 91成人精品一区二区三区四区 | 黄色国产一级片 | 四虎影视国产精品 | 亚洲手机视频 | 亚洲精品久久区二区三区蜜桃臀 | 欧美精品在线免费 | 亚洲人成激情在线播放国 | 黄色片国产 | 丁香六月婷婷综合 | 国产精品久久久久久久久久久久久久 | 真人毛毛片 | 国产999久久久 | 亚洲国产免费 | 黄色片久久 | 黄色成人小视频 | 黄色三级三级三级 | 日日干av | 一本一道精品欧美中文字幕 | 91麻豆免费视频 | 国产成人网 | 奇米在线观看 | 久久久久久久久久一级 | 综合色在线观看 | 91手机在线观看 | 5x社区满18击进入av网站 | 在线观看欧美 | 国产亚洲欧美久久久久 | 少妇精品一区二区三区 | 国产suv精品一区二区 | 久久欧美一区二区三区 | 欧美性做爰猛烈叫床潮 | 黄色一级免费观看 | 天天干夜夜撸 | 国产精品视频成人 | 日韩av在线看免费观看 | 韩日欧美 | 老色批影院| www,99| 亚洲三级网站 | 国产一区二区视频在线播放 | 国产成人亚洲精品 | 日韩伦理一区二区三区 | 天堂√| 男人天堂一区 | 欧美成人a | 成人免费看av | 久久a久久 | 超碰麻豆| 国产盗摄精品一区二区酒店 | 欧美乱操| 中国在线观看免费高清视频播放 | 亚洲精品15p | 91av在线网站 | 日本少妇全体裸体洗澡 | 日本亲子乱子伦xxxx | 国产suv一区二区 | 特级一级片 | 韩国性猛交╳xxx乱大交 | 激情成人综合网 | 国产精品96久久久久久 | 亚洲网站在线观看 | 久久精品23| 精品福利在线视频 | 久久99精品久久久久久秒播放器 | 国产成人在线一区 | 久久xxxx| 久操视频在线观看 | 四虎av网站 | 中日韩免费毛片 | 亚洲乱码国产乱码精品精在线网站 | 国产精品美女久久久久图片 | 亚洲天堂男人 | www.色图| 福利小视频在线观看 | ww黄色| 国产乱码精品一区二三赶尸艳谈 | 一区二区在线免费观看视频 | 午夜久久久久久久久久影院 | 中文字幕日韩欧美一区二区三区 | 少妇人妻一级a毛片 | 国产精品久久久久久久免费看 | 久久毛片网站 | 日韩av大全| 三级黄色短视频 | xxxxxx国产 | 国产成人精品在线观看 | 日韩国产综合 | 六月综合网 | 亚洲精品mv免费网站 | 男女视频网站 | 91一区二区 | 一级理论片在线观看 | 国产黄色网址在线观看 | 日日操日日爽 | jizzzxxxx | 国产激情91 | 天天色播| 九九热精品视频在线观看 | 成年人视频在线播放 | 爽爽爽av| 色视频在线观看 | 亚洲精选免费 | 国产区精品在线 | 久久久久久久毛片 | 涩涩屋视频 | 五月天婷婷综合网 | 日本猛少妇色xxxxx猛叫 | 日韩av导航 | av最新天堂| 国产精品亚洲一区二区三区 | 欧美日韩网址 | 日本久久一区 | 欧美日韩1区2区 | 亚洲三级高清 | 麻豆视频一区二区三区 | 日韩欧美亚洲一区二区 | 欧美成人激情在线 | 天天干夜夜草 | 久久久噜噜噜久久中文字幕色伊伊 | 国偷自产视频一区二区久 | 在线黄色免费 | 免费看一级 | 丁香六月婷婷激情 | 亚洲无吗在线 | 欧美绿帽交换xxx | 在线小视频你懂的 | 欧美,日韩,国产精品免费观看 | 一区视频在线 | 亚洲一级一区 | 麻豆中文字幕 | 国产亚洲激情 | 午夜国产在线观看 | 亚洲女人毛片 | 亚欧洲乱码视频 | 99精品自拍| 在线观看黄网 | 亚洲精品在线观看网站 | 亚洲人人干 | 欧美日韩aa | 天天躁日日躁aaaa视频 | 久插视频 | 色先锋影院 | 狠狠干夜夜干 | 超碰2020| 亚洲春色av | 免费一级欧美片在线播放 | 免费在线一区二区三区 | 午夜h | 另类av在线| 男人av网 | 在线播放视频高清在线观看 | 精品对白一区国产伦 | 福利一区二区 | 日批视频免费看 | 国产高清网站 | 亚州中文 | 久久久久成人精品免费播放动漫 | 美国av导航 | 色播av| 久久最新| 国产亚洲精品女人久久久久久 | 亚洲国产欧美在线 | 日韩精品在线观看一区 | 日本韩国免费观看 | www.日本在线观看 | 97久久精品 | 欧美大片免费高清观看 | 国产三级在线观看视频 | 一级片色播影院 | 人成在线免费视频 | 日本99视频 | 欧美午夜视频在线观看 | 成人精品在线视频 | 国产精品毛片一区二区在线看 | 国产亚洲精品久久 | 亚洲 国产 日韩在线 精品 | 午夜婷婷丁香 | 毛片一区二区三区 | 在线视频 亚洲 | 意大利性荡欲xxxxxx | 九九热视频在线播放 | 国产成人精品一区 | 国产精品久久久久毛片软件 | 黄色一级视频在线观看 | 国产成人精品久 | 日本欧美精品 | 欧美激情一区二区 | 亚洲 欧美 自拍偷拍 | 久久久久久久久嫩草精品乱码 | 免费毛片a| 日韩一区二区三 | 色呦呦视频在线 | 99精品国自产在线 | 免费看日产一区二区三区 | 国产成年人小视频 | 在线精品亚洲欧美日韩国产 | 成人性视频sm. | 午夜欧美精品 | 国产在线1| 美女啪啪免费视频 | 久久噜噜噜精品国产亚洲综合 | 亚洲欧美色图片 | 精品三级在线观看 | 亚洲美女视频在线观看 | 天天舔天天操 | 欧美黄色a级 | 天堂中文在线观看视频 | 亚州中文av| 国产破处在线 | 欧美日韩免费在线视频 | 国产一级二级视频 | 中文av一区 | 国产免费v片 | 日韩 欧美 中文 | www.成人免费视频 | 国产精品50页 | 久久99影院| 精品人人人人 | 国产乱淫av片免费 | av在线资源观看 | 亚洲精品视频在线观看视频 | 东方av在线免费观看 | 国产精品日韩一区 | 91精品国产综合久久婷婷香蕉 | 天堂影院av | 亚色影库 | 97在线超碰 | 草av| 97人人澡人人爽人人模亚洲 | 999插插插 | 好看的国产精品 | 性色浪潮| 国产精品毛片一区二区在线看 | 午夜视频在线观看视频 | 中文av免费 | 国产成人在线免费视频 | 熊出没之冬日乐翻天免费高清观看 | 在线欧美色 | 国产精彩视频 | 国产日本精品视频 | 九九热精品视频在线播放 | 日本成人片网站 | 黄视频在线观看免费 | 久久久久久国产精品视频 | 奇米影视狠狠 | 国产免费一级一级 | 一级一级国产片 | 在线日韩欧美 | 欧美成人精品激情在线观看 | 亚洲成年人在线观看 | 欧美日韩不卡在线 | 亚洲国产aⅴ | 成年人观看视频 | 欧美图片一区二区三区 | 国产伦精品一区二区三区视频网站 | 伊人精品视频 | 国产日韩欧美视频 | 最新国产露脸在线观看 | 国产成人在线免费观看 | 久久久久国产精品免费 | 奶水喷溅 在线播放 | 波多野结衣丝袜ol在线播放 | 久久伊人免费视频 | 亚洲第二色 | 亚洲一区少妇 | 日本亚洲最大的色成网站www | 欧美日本一区二区三区 | 91黄色在线视频 | 最新国产视频 | 欧美色综合天天久久综合精品 | 国产女人视频 | 超碰在线免费看 | 污视频在线网站 | 日韩在线播放中文字幕 | 在线免费观看a视频 | 毛片aaaaa| 午夜神马福利 | 欧美黑人一级 | 亚洲性色av | 中文精品一区 | 日韩精品视频在线观看免费 | 不卡av免费| 日韩在线视屏 | 日本在线视频一区二区 | 欧美一区二区三区在线免费观看 | 国产青草视频 | 免费一级片在线观看 | 一级片成人 | 玩偶游戏在线观看免费 | 九九热这里只有精品6 | 3o一40一50一6o女人毛片 | 97福利视频 | 国产毛片一区二区三区va在线 | 午夜视频成人 | 最好看十大无码av | 国产视频在线一区二区 | 久久久一区二区三区四区 | 欧美一性一乱一交一视频 | 国产在线麻豆精品观看 | 玖玖玖视频 | 精品视频一区二区三区 | 国产成人在线视频播放 | 找个黄色片看看 | 亚洲精品男同 | 欧美成人一区二区三区片免费 | a视频在线观看免费 | 欧美国产综合 | 亚洲最大中文字幕 | 免费观看理伦片在线播放视频软件 | 精品久久久久久中文字幕 | 自拍啪啪| 嫩草视频在线观看免费 | av色先锋 | 欧美日韩一卡二卡三卡 | 黄色aaaa | 色999在线| 亚洲美女视频 | 精品一区久久 | youjizz韩国 | 亚洲国产综合久久久 | 狠狠爱天天干 | 日本久久综合 | 最近日本字幕mv免费观看在线 | 国产对白受不了了中文对白 | 欧美大尺度床戏做爰 | 亚洲视频在线免费播放 | 亚洲精品91 | 成人av番号网 | 黄片毛片在线 | 午夜精品一区二区三区在线 | 91操比视频 | 亚洲成人7777| 久草网在线 | 亚洲一级影片 | 日本xxxx在线观看 | 91瑟瑟| 中文字幕人乱码中文字 | 人人插人人爽 | 深夜国产福利 | 日韩欧美高清在线观看 | 免费一级黄色片 | 亚洲精品在线视频观看 | 国产高清成人久久 | 国产人人草 | 久久av资源| 天天操天天干天天操 | 人人干人人插 | 国产裸体永久免费无遮挡 | 91热精品 | 波多野结衣二区 | 免费av播放 | japanese国产打屁股 | 2022av在线 | 一区二区三区色 | 亚洲视频男人的天堂 | 色偷偷噜噜噜亚洲男人 | 国产精品粉嫩 | 亚洲成av人片在www色猫咪 | 男人撒尿视频xvideos | 成人黄色在线免费观看 | 欧美黄色免费 | 色肉色伦交av色肉色伦 | www激情| 激情午夜影院 | 亚洲国产精品第一页 | 91精品国产一区二区三密臀 | 国产精品一区不卡 | 亚欧精品在线观看 | 黑丝av在线播放 | 91久久久久久久久久久久 | 久久精品波多野结衣 | 亚洲图片欧美激情 | 中文字幕avav | 黄色网页在线播放 | 中年夫妇大白天啪啪高潮不断 | 最新成人 | 亚洲人掀裙打屁股网站 | 成人免费国产 | 香蕉久久国产 | 人人超碰在线 | 成人深夜视频在线观看 | 国产成人综合亚洲 | 色婷婷精品国产一区二区三区 | 一区二区三区在线观看免费 | 日韩在线国产 | 综合色av| 日韩欧美自拍偷拍 | 国产精品视频网 | 亚洲国产精品va在线 | 93看片淫黄大片一级 | 午夜精品久久久久久久久久久久 | 免费av国产 | 一区二区三区午夜 | 九色自拍 | 在线观看黄色动漫 | 色噜噜日韩精品欧美一区二区 | 99久久精品免费看国产一区二区三区 | 怡春院国产 | 伊人三区 | 污片网站 | 伊人三区 | av三级 | 亚洲网av | 国产精品8| 久久男人精品 | 亚洲精品久久7777777 | 日本免费福利视频 | 日本高清视频www | 在线午夜 | 99久久激情| 特级丰满少妇一级aaaa爱毛片 | 欧美在线视频一区二区 | 国产人久久人人人人爽 | 夜色在线影院 | 性开放永久免费视频 | 亚洲乱码国产乱码精品精软件 | 日韩不卡在线播放 | 免费啪视频在线观看 | 欧美专区在线视频 | 国产精品15p | 激情插插 | 四虎永久在线精品免费一区二区 | 超碰在线进入 | 人人九九精 | 日本a一级 | 久久国色| 插插射射| 91视频免费网址 | 国产特级aaaaaa大片 | 免费高清欧美大片在线观看 | 找个毛片看看 | 久久久二区 | 日本在线免费观看视频 | 日韩一级淫片 | 超碰免费在线播放 | 伊人久久国产精品 | 国产在线伊人 | 在线视频 中文字幕 | 能看的av | 欧美激情在线播放 | 国产传媒视频 | 青青草原综合久久大伊人精品 | 亚洲人成网77777 | 亚洲v国产v欧美v久久久久久 | 亚洲欧美在线观看 | 和漂亮岳做爰3中文字幕 | 一二三区视频 | 夜夜操夜夜骑 | 亚洲a v网站 | 亚洲国产精品精华液网站 | 久国产视频 | 91av在线看| 午夜视频入口 | 日韩美女福利视频 | 日本视频免费看 | 草草草在线观看 | 日韩av在线网址 | 久久国产精品99国产精 | av大片在线免费观看 | 99色| 毛片av在线观看 | 成人久久免费视频 | 天天拍天天干 | 播放一级黄色片 | 欧美日韩一二区 | 在线干| 久久久久久久久久亚洲精品 | 国产探花一区二区 | 五月婷婷,六月丁香 | 一级性生活毛片 | 亚洲免费不卡视频 | 亚洲美女毛片 | 日韩免费av| 亚洲第一页中文字幕 | 亚洲a成人 | 丰满岳乱妇一区二区三区 | 在线观看亚洲免费视频 | 噜噜亚洲 | 久久久加勒比 | 四虎影视成人 | 性生生活大片又黄又 | 91国偷自产一区二区三区观看 | 国产麻豆交换夫妇 | 中文字幕91爱爱 | 黄色伊人网 | 一级免费视频 | 美女高潮黄又色高清视频免费 | 色偷偷综合网 | 五月婷婷综合久久 | 日韩精品免费视频 | 韩国三级hd两男一女 | 亚洲人网站| 二级毛片视频 | 你懂得在线 | 国产精品动漫一区二区三区 | 福利色导航 | 久久久久性 | 美女18毛片| av日韩一区二区 | 日韩欧美偷拍 | 亚洲免费一区二区 | 五月天精品视频 | 亚洲国产精品一区二区三区 | 91丨九色丨蝌蚪丨丝袜 | 中文字幕免费在线看线人动作大片 | 综合激情av | 国产剧情av在线 | 99re欧美 | 激情六月丁香 | 国产精品久久免费 | 欧亚av在线 | 亚洲免费在线 | 干成人网 | 三级福利片 | 青青草视频偷拍 | 欧美在线观看一区二区三区 | 极品美女开粉嫩精品 | 青青草伊人久久 | 国产精品久久久久久久久图文区 | 中文字幕第一区综合 | 亚洲综合在线免费 | 免费黄色在线看 | 日韩女优中文字幕 | 天堂网成人| 伊人久久香 | 欧美精品二区三区 | 3p视频在线观看 | 一区不卡在线 | 狠狠干狠狠撸 | 另类天堂网 | 91视频色版 | 精品午夜视频 | 伊人狠狠干 | 奇米影视首页 | 亚洲美女高潮久久久 | 美女久久久久 | 女同性做爰全过程 | 成人看片在线 | 91在线免费播放 | 国产毛片高清 | 亚洲爱情岛论坛永久 | 诱惑の诱惑筱田优在线播放 | 天天操天天玩 | 欧美国产在线观看 | 日韩免费在线观看视频 | 日韩av中文在线 | 视频二区在线 | 最新国产中文字幕 | 亚洲最大视频网站 | 精彩视频一区二区 | 中文字幕日韩精品视频一区视频二区 | 97视频久久 | 成人片免费视频 | 最新中文字幕在线视频 | 中文字幕第页 | 精品乱子伦一区二区 | 青娱乐极品视频在线 | 中文字幕在线资源 | 欧美一级黄色片在线观看 | 日韩欧美一区二区三区 | 欧美激情国产精品免费 | 亚洲天堂五码 | 青草av在线 | 久久艳片www.17c.com | 玖玖在线免费视频 | www.五月婷| 欧美韩日国产 | 中文字字幕第183页 成人禁污污啪啪入口 | 国产精品一区久久久 | 成人免费版| 精品日韩一区 | 伊人久久国产精品 | 在线精品视频一区 | 九色国产 | 久久影视一区二区 | 天天av网 | 国产精品拍拍 | 97人人人 | 欧美成人aaaaⅴ片在线看 | 亚欧洲精品 | 妻色成人网| 欧美片17c07.com| 九九九网站 | 一区自拍 | 欧美在线网站 | 中文字幕网址在线 | 欧美亚洲影院 | 国产三级精品三级 | 伦理亚洲 | 人人干天天干 | 日韩精品首页 | 久草a在线| 最新日本中文字幕 | 天天人人精品 | 免费在线日本 | av午夜精品 | 黄色一级片网站 | 天天狠狠操 | 欧美精品videos另类 | 一本加勒比hezyo黑人 | 日韩激情av| 综合网在线视频 | 国产精品视频网站 | 影音先锋在线国产 | 伊人免费在线 | 好吊妞一区二区 | 在线天堂资源 | 亚洲免费色 | 亚洲国产精品毛片 | 黄色a级片视频 | 亚洲无线视频 | 国产高清自拍视频 | 日韩精品在线一区二区 | 天堂中文字幕在线观看 | 久久精品99国产精品日本 | 欧美精品日韩少妇 | 国产精品原创av | 91麻豆精品在线 | 国产成人小视频在线观看 | 日韩激情一区二区三区 | 亚洲最新在线视频 | 国产又大又黄又爽 | 青青草好吊色 | 久久久久人人 | 亚洲xx站 | 成人污| 日本高清视频在线 | 久久久久久网址 | 亚洲图片 欧美 | 日韩三级在线播放 | 午夜性福利 | 美女精品一区二区 | 国内精品久久久久久久影视简单 | 亚洲国产精品第一页 | 免费看黄网站在线 | 日韩免费福利 | 好看的毛片 | 国产77777 | 精品少妇一区二区三区免费观 | 特级毛片在线观看 | 国产成人免费av一区二区午夜 | 热久久伊人 | 久久资源在线 | 日韩欧美三级在线观看 | 国产精品国产三级国产普通话蜜臀 | 这里都是精品 | 91九色蝌蚪91por成人 | 日本黄色片免费 | 亚洲欧美999 | 日本不卡视频在线观看 | 久久99精品国产一区二区三区 | 国产成人综合精品 | www.日韩视频 | 成人午夜在线观看 | 8090理论片午夜理伦片 | 超碰五月 | 亚洲综合成人网 | 亚洲国产成人精品无色码 | 久久精品国产精品亚洲毛片 | 日本一区二区免费视频 | 国产在线一二三 | 超碰666 | 偷拍欧美另类 | 中文字幕av不卡 | 日本成人免费视频 | 香蕉网av| 男女午夜视频在线观看 | 亚洲第一成人久久网站 | 奇米影视中文字幕 | 国产女主播一区二区三区 | 国产精品www色诱视频 | 亚洲欧美日韩在线看 | 小说肉肉视频 | 一级少妇精品久久久久久久 | 天天视频黄色 | 假日游船法国满天星 | 亚洲美女屁股眼交8 | 亚洲福利网址 | 久久久精品日韩 | 天天操天天操天天射 | 免费黄色国产 | 久久乐国产精品 | 激情九月天 | 九九热视频在线 | 什么网站可以看毛片 | 久久久久国产 | 毛片网站在线观看 | 在线观看免费观看 | 巨物撞击尤物少妇呻吟 | 有码视频在线观看 | 污视频在线观看网站 | 在线免费观看一级片 | 国产特级淫片免费看 | 久久久久久久久免费 | 久久成年人视频 | 日本欧美www | 精品视频一区二区在线观看 | 国产区一区二区三 | 亚洲一区二区三区三州 | 97人人澡人人爽人人模亚洲 | 天天艹日日干 | 免费观看成人毛片 | 欧美男优 | 九九久久精品视频 | 日韩欧美一区在线 | 久久综合久久鬼 | 激情小视频在线观看 | 天干夜夜爽爽日日日日 | 久久有精品 | 久久成人国产 | 亚洲视频h| 日本中文在线观看 | 香蕉av一区二区 | 亚洲欧美一区二区三区久久 | 中文字幕视频网站 | 久久精品国产一区二区 | 精品久久免费看 | 亚洲字幕网 | 91一区二区三区在线观看 | 日韩视频在线观看一区二区 | 国产精品久久久久久亚洲影视 | 亚洲黄色一区二区 | 国产午夜性春猛交ⅹxxx | 久久久精品一区二区三区 | 玖草在线| 夜夜福利 | 高清乱码毛片入口 | 高潮毛片| 中文字幕高清在线观看 | 操操插插 | 日少妇视频 | 五月天婷婷丁香 | 欧美日韩一二三四 | 日韩免费网 | 亚洲免费影院 | 四虎成人在线视频 | 丁香五色月 | 国产精品自产拍高潮在线观看 | wwwww国产| 97人人爽人人爽人人爽人人爽 | 久久手机视频 | 欧美囗交做爰视频 | 亚洲无吗在线 | 国产无套免费网站69 | 国产女同91疯狂高潮互磨 | 国产伦精品视频一区二区三区 | 自拍一级片 | 欧美不卡一区二区 | 麻豆精品一区二区三区 | www.天堂av.com| 成人免费av | 欧美精品在线看 | 天天操天天干天天插 | 久久韩日| 成年人爱爱视频 | 黄色片网站免费在线观看 | 亚洲第8页 | 亚洲vs天堂 | www.国产91| 偷看洗澡一二三区美女 | 午夜影院在线观看视频 | 操韩国美女 | 性色av免费 | 毛片.com| 两性囗交做爰视频 | 日韩国产欧美在线观看 | 日日狠狠久久 | 99热3| 已婚少妇露脸日出白浆 | 亚洲草逼视频 | 特级新鲜大片片 | 超碰精品在线观看 | 人人看人人澡 | 色女人影院 | 成人精品喷水视频www | 日韩在线精品强乱中文字幕 | 青青青在线 | 欧美嫩草 | 91视频免费观看 | 日韩欧美一区在线观看 | 久久天天躁狠狠躁夜夜躁2014 | 最新中文字幕av | 99热欧美 | 欧美乱妇狂野欧美在线视频 | 超碰最新在线 | 91娇羞白丝 | 日本久久高清 | 天天操天天干天天摸 | 午夜精品少妇 | 久久依人 | 又长又硬又粗一区二区三区 | 91网入口| 成人免费在线 | 狠狠操导航 | 香蕉久久久久 | 99在线免费视频 | 尹人综合在线 | 日韩免费观看一区二区 | av免费在线观看网址 | 东方av伊甸园 | 最近中文字幕免费在线观看 | 婷婷四房综合激情五月 | 日本成人免费在线 | 天堂视频在线免费观看 | 亚洲国产剧情 | 成人黄色免费网站 | 亚洲成人自拍 | 日韩黄色一级 | 亚洲激情免费 | 欧美日韩国产专区 | 亚洲欧美日韩激情 | 色久网| 亚洲欧洲自拍 | 成人精品在线播放 | 成人在线激情 | 伊人中文网| 天堂中文在线免费观看 | 美女视频一区 | 激情福利社 | 亚洲黄色一级 | 久久99精品久久久久久三级 | 日本三级韩国三级三级a级中文 | 中文字幕一区二区三区在线播放 | 国产美女久久久 | 亚洲欧美日韩国产精品一区午夜 | 韩国精品视频 | 国产精品国产三级国产专区52 | 免费成人看视频 | 久久免费公开视频 | 精品不卡一区二区 | 99久久免费毛片基地 | 一二三不卡 | 国产精品高潮av | 日韩在线观看不卡 | 黄色一级小视频 | 成人日韩精品 | 日韩爽爽视频 | 国产成人tv | 日韩经典在线 | 在线免费观看午夜视频8 | 成人激情视频 | 国内精品视频在线播放 | 国产玖玖| 中文字幕在线观看日本 | 亚洲国产精品成人女人久久 | 国产污网站 | 99er这里只有精品 | 一级高清毛片 | 碰超在线 | 天天操天天操天天操天天 | 成人久久久精品乱码一区二区三区 | 亚洲免费观看高清在线观看 | 精品视频久久久久久久 | 男人天堂你懂的 | 一级特黄视频 | 欧美高清免费 | 丁香花完整视频在线观看 | 视频在线观看一区二区三区 | 黄色av免费在线观看 | 中文日韩字幕 | 色福利hd写真video | 中文字幕在线观看第二页 | 日本中文在线播放 | 免费观看毛片视频 | 日本亚洲黄色 | 激情国产一区 | 免费公开在线视频 | 中文字幕在线观看1 | 亚洲人精品 | 伊人久久免费视频 | 中文在线a√在线8 | 91久久精品日日躁夜夜躁国产 | 欧美性色网站 | 毛片福利 | 男女黄色录像 | 国产三级视频在线 | 奇米影视777四色 | 亚洲第一免费网站 | 男人久久 |