婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Yii 框架應用(Applications)操作實例詳解

Yii 框架應用(Applications)操作實例詳解

熱門標簽:天客通地圖標注 電子地圖標注怎么修改 地圖標注符號樣式有 梧州市機器人外呼系統怎么樣 菏澤語音外呼系統運營商 臨沂crm外呼系統平臺 如何在世界地圖標注 廈門400電話辦理選易號網 公司外呼系統中心

本文實例講述了Yii 框架應用(Applications)操作。分享給大家供大家參考,具體如下:

應用主體 ¶

應用主體是管理 Yii 應用系統整體結構和生命周期的對象。 每個Yii應用系統只能包含一個應用主體,應用主體在 入口腳本 中創建并能通過表達式 \Yii::$app 全局范圍內訪問。

信息: 當我們說"一個應用",它可能是一個應用主體對象,也可能是一個應用系統, 是根據上下文來決定[譯:中文為避免歧義,Application翻譯為應用主體]。

Yii有兩種應用主體: 網頁應用主體 and 控制臺應用主體, 如名稱所示,前者主要處理網頁請求,后者處理控制臺請求。

應用主體配置

如下所示,當 入口腳本 創建了一個應用主體, 它會加載一個 配置 文件并傳給應用主體。

require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
 
// 加載應用主體配置
$config = require __DIR__ . '/../config/web.php';
 
// 實例化應用主體、配置應用主體
(new yii\web\Application($config))->run();

類似其他 配置 文件, 應用主體配置文件標明如何設置應用對象初始屬性。 由于應用主體配置比較復雜,一般保存在多個類似如上web.php的 配置文件 當中。

應用主體屬性 ¶

應用主體配置文件中有許多重要的屬性要配置,這些屬性指定應用主體的運行環境。 比如,應用主體需要知道如何加載 控制器 , 臨時文件保存到哪兒等等。 以下我們簡述這些屬性。

必要屬性

在一個應用中,至少要配置2個屬性: id 和 basePath。

id

id 屬性用來區分其他應用的唯一標識ID。主要給程序使用。 為了方便協作,最好使用數字作為應用主體ID, 但不強制要求為數字。

basePath

basePath 指定該應用的根目錄。 根目錄包含應用系統所有受保護的源代碼。 在根目錄下可以看到對應MVC設計模式的models, views, controllers等子目錄。

可以使用路徑或 路徑別名 來在配置 basePath 屬性。 兩種格式所對應的目錄都必須存在,否則系統會拋出一個異常。 系統會使用 realpath() 函數規范化配置的路徑.

basePath 屬性經常用于派生一些其他重要路徑(如runtime路徑), 因此,系統預定義 @app 代表這個路徑。 派生路徑可以通過這個別名組成(如@app/runtime代表runtime的路徑)。

重要屬性

本小節所描述的屬性通常需要設置, 因為不同的應用屬性不同。

aliases

該屬性允許你用一個數組定義多個 別名。 數組的key為別名名稱,值為對應的路徑。 例如:

[
 'aliases' => [
  '@name1' => 'path/to/path1',
  '@name2' => 'path/to/path2',
 ],
]

使用這個屬性來定義別名, 代替 Yii::setAlias() 方法來設置。

bootstrap

這個屬性很實用,它允許你用數組指定啟動階段 bootstrapping process 需要運行的組件。 比如,如果你希望一個 模塊 自定義 URL 規則, 你可以將模塊ID加入到bootstrap數組中。

屬性中的每個組件需要指定以下一項:

  • 應用 組件 ID.
  • 模塊 ID.
  • 類名.
  • 配置數組.
  • 創建并返回一個組件的無名稱函數.

例如:

[
 'bootstrap' => [
  // 應用組件ID或模塊ID
  'demo',
 
  // 類名
  'app\components\Profiler',
 
  // 配置數組
  [
   'class' => 'app\components\Profiler',
   'level' => 3,
  ],
 
  // 匿名函數
  function () {
   return new app\components\Profiler();
  }
 ],
]

信息: 如果模塊 ID 和應用組件 ID 同名,優先使用應用組件 ID, 如果你想用模塊 ID, 可以使用如下無名稱函數返回模塊 ID。

[
 function () {
  return Yii::$app->getModule('user');
 },
]

在啟動階段,每個組件都會實例化。如果組件類實現接口 yii\base\BootstrapInterface,也會調用 bootstrap() 方法。

舉一個實際的例子,Basic Application Template 應用主體配置中, 開發環境下會在啟動階段運行 debuggii 模塊。

if (YII_ENV_DEV) {
 // configuration adjustments for 'dev' environment
 $config['bootstrap'][] = 'debug';
 $config['modules']['debug'] = 'yii\debug\Module';
 
 $config['bootstrap'][] = 'gii';
 $config['modules']['gii'] = 'yii\gii\Module';
}

注意: 啟動太多的組件會降低系統性能,因為每次請求都需要重新運行啟動組件, 因此謹慎配置啟動組件。

catchAll

該屬性僅 Web applications 網頁應用支持。 它指定一個要處理所有用戶請求的 控制器方法, 通常在維護模式下使用,同一個方法處理所有用戶請求。

該配置為一個數組,第一項指定動作的路由,剩下的數組項(key-value 成對)指定傳遞給動作的參數, 例如:

[
 'catchAll' => [
  'offline/notice',
  'param1' => 'value1',
  'param2' => 'value2',
 ],
]

信息: 當開啟這個屬性時,開發環境下的調試面板將不能工作。

components

這是最重要的屬性,它允許你注冊多個在其他地方使用的 應用組件. 例如

[
 'components' => [
  'cache' => [
   'class' => 'yii\caching\FileCache',
  ],
  'user' => [
   'identityClass' => 'app\models\User',
   'enableAutoLogin' => true,
  ],
 ],
]

每一個應用組件指定一個key-value對的數組,key代表組件ID, value代表組件類名或 配置。

在應用中可以任意注冊組件,并可以通過表達式 \Yii::$app->ComponentID 全局訪問。

controllerMap

該屬性允許你指定一個控制器ID到任意控制器類。 Yii遵循一個默認的 規則 指定控制器ID到任意控制器類(如post對應app\controllers\PostController)。 通過配置這個屬性,可以打破這個默認規則,在下面的例子中, account對應到app\controllers\UserControllerarticle 對應到 app\controllers\PostController

[
 'controllerMap' => [
  'account' => 'app\controllers\UserController',
  'article' => [
   'class' => 'app\controllers\PostController',
   'enableCsrfValidation' => false,
  ],
 ],
]

數組的鍵代表控制器ID, 數組的值代表對應的類名。

controllerNamespace

該屬性指定控制器類默認的命名空間,默認為app\controllers。 比如控制器ID為 post 默認對應 PostController (不帶命名空間), 類全名為 app\controllers\PostController

控制器類文件可能放在這個命名空間對應目錄的子目錄下, 例如,控制器ID admin/post 對應的控制器類全名為 app\controllers\admin\PostController

控制器類全面能被 自動加載, 這點是非常重要的,控制器類的實際命名空間對應這個屬性, 否則,訪問時你會收到"Page Not Found"[譯:頁面找不到]。

如果你想打破上述的規則, 可以配置 controllerMap 屬性。

language

該屬性指定應用展示給終端用戶的語言, 默認為 en 標識英文。 如果需要之前其他語言可以配置該屬性。

該屬性影響各種 國際化 , 包括信息翻譯、日期格式、數字格式等。 例如 yii\jui\DatePicker 小部件會根據該屬性 展示對應語言的日歷以及日期格式。

推薦遵循 IETF language tag 來設置語言, 例如 en 代表英文, en-US 代表英文(美國).

modules

該屬性指定應用所包含的 模塊。

該屬性使用數組包含多個模塊類 配置,數組的鍵為模塊ID, 例:

[
 'modules' => [
  // "booking" 模塊以及對應的類
  'booking' => 'app\modules\booking\BookingModule',
 
  // "comment" 模塊以及對應的配置數組
  'comment' => [
   'class' => 'app\modules\comment\CommentModule',
   'db' => 'db',
  ],
 ],
]

name

該屬性指定你可能想展示給終端用戶的應用名稱, 不同于需要唯一性的 id 屬性, 該屬性可以不唯一,該屬性用于顯示應用的用途。

如果其他地方的代碼沒有用到,可以不配置該屬性。

params

該屬性為一個數組,指定可以全局訪問的參數, 代替程序中硬編碼的數字和字符, 應用中的參數定義到一個單獨的文件并隨時可以訪問是一個好習慣。 例如用參數定義縮略圖的長寬如下:

[
 'params' => [
  'thumbnail.size' => [128, 128],
 ],
]

然后簡單的使用如下代碼即可獲取到你需要的長寬參數:

$size = \Yii::$app->params['thumbnail.size'];
$width = \Yii::$app->params['thumbnail.size'][0];

以后想修改縮略圖長寬, 只需要修改該參數而不需要相關的代碼。

sourceLanguage

該屬性指定應用代碼的語言,默認為 'en-US' 標識英文(美國), 如果應用不是英文請修改該屬性。

和 語言 屬性類似,配置該屬性需遵循 IETF language tag. 例如 en 代表英文, en-US 代表英文(美國)

timeZone

該屬性提供一種方式修改PHP運行環境中的默認時區,配置該屬性本質上就是調用PHP函數 date_default_timezone_set(), 例如:

[
 'timeZone' => 'America/Los_Angeles',
]

version

該屬性指定應用的版本,默認為'1.0', 其他代碼不使用的話可以不配置。

實用屬性

本小節描述的屬性不經常設置,通常使用系統默認值。 如果你想改變默認值,可以配置這些屬性。

charset

該屬性指定應用使用的字符集,默認值為 'UTF-8', 絕大部分應用都在使用,除非已有的系統大量使用非unicode數據才需要更改該屬性。

defaultRoute

該屬性指定未配置的請求的響應 路由 規則, 路由規則可能包含模塊ID,控制器ID,動作ID。 例如help, post/create, admin/post/create,如果動作ID沒有指定, 會使用yii\base\Controller::$defaultAction中指定的默認值。

對于 Web applications 網頁應用, 默認值為 'site' 對應 SiteController 控制器,并使用默認的動作。 因此你不帶路由的訪問應用,默認會顯示 app\controllers\SiteController::actionIndex() 的結果。

對于 console applications 控制臺應用, 默認值為 'help' 對應 yii\console\controllers\HelpController::actionIndex()。 因此,如果執行的命令不帶參數,默認會顯示幫助信息。

extensions

該屬性用數組列表指定應用安裝和使用的 擴展, 默認使用@vendor/yiisoft/extensions.php文件返回的數組。 當你使用 Composer 安裝擴展,extensions.php 會被自動生成和維護更新。 所以大多數情況下,不需要配置該屬性。

特殊情況下你想自己手動維護擴展,可以參照如下配置該屬性:

[
 'extensions' => [
  [
   'name' => 'extension name',
   'version' => 'version number',
   'bootstrap' => 'BootstrapClassName', // 可選配,可為配置數組
   'alias' => [ // 可選配
    '@alias1' => 'to/path1',
    '@alias2' => 'to/path2',
   ],
  ],
 
  // ... 更多像上面的擴展 ...
 
 ],
]

如上所示,該屬性包含一個擴展定義數組,每個擴展為一個包含 nameversion 項的數組。 如果擴展要在 引導啟動 階段運行, 需要配置 bootstrap以及對應的引導啟動類名或 configuration 數組。 擴展也可以定義 別名

layout

該屬性指定渲染 視圖 默認使用的布局名字, 默認值為 'main' 對應布局路徑下的 main.php 文件, 如果 布局路徑 和 視圖路徑 都是默認值, 默認布局文件可以使用路徑別名@app/views/layouts/main.php

如果不想設置默認布局文件,可以設置該屬性為 false,這種做法比較罕見。

layoutPath

該屬性指定查找布局文件的路徑,默認值為 視圖路徑 下的 layouts 子目錄。 如果 視圖路徑 使用默認值, 默認的布局路徑別名為@app/views/layouts

該屬性需要配置成一個目錄或 路徑 別名。

runtimePath

該屬性指定臨時文件如日志文件、緩存文件等保存路徑, 默認值為帶別名的 @app/runtime

可以配置該屬性為一個目錄或者路徑 別名, 注意應用運行時有對該路徑的寫入權限, 以及終端用戶不能訪問該路徑因為臨時文件可能包含一些敏感信息。

為了簡化訪問該路徑,Yii預定義別名 @runtime 代表該路徑。

viewPath

該路徑指定視圖文件的根目錄,默認值為帶別名的 @app/views, 可以配置它為一個目錄或者路徑 別名.

vendorPath

該屬性指定 Composer 管理的供應商路徑, 該路徑包含應用使用的包括Yii框架在內的所有第三方庫。 默認值為帶別名的 @app/vendor

可以配置它為一個目錄或者路徑 別名, 當你修改時,務必修改對應的 Composer 配置。

為了簡化訪問該路徑,Yii 預定義別名 @vendor 代表該路徑。

enableCoreCommands

該屬性僅 console applications 控制臺應用支持, 用來指定是否啟用 Yii 中的核心命令,默認值為 true

應用事件

應用在處理請求過程中會觸發事件,可以在配置文件配置事件處理代碼, 如下所示:

[
 'on beforeRequest' => function ($event) {
  // ...
 },
]

on eventName 語法的用法在 Configurations 一節有詳細描述.

另外,在應用主體實例化后,你可以在 引導啟動 階段附加事件處理代碼, 例如:

\Yii::$app->on(\yii\base\Application::EVENT_BEFORE_REQUEST, function ($event) {
 // ...
});

EVENT_BEFORE_REQUEST

該事件在應用處理請求before之前,實際的事件名為 beforeRequest

在事件觸發前,應用主體已經實例化并配置好了, 所以通過事件機制將你的代碼嵌入到請求處理過程中非常不錯。 例如在事件處理中根據某些參數動態設置 yii\base\Application::$language 語言屬性。

EVENT_AFTER_REQUEST

該事件在應用處理請求 after 之后但在返回響應 before 之前觸發, 實際的事件名為 afterRequest

該事件觸發時,請求已經被處理完, 可以做一些請求后處理或自定義響應。

注意 response 組件在發送響應給終端用戶時也會觸發一些事件, 這些事件都在本事件 after 之后觸發。

EVENT_BEFORE_ACTION

該事件在每個 控制器動作 運行before之前會被觸發, 實際的事件名為 beforeAction.

事件的參數為一個 yii\base\ActionEvent 實例, 事件處理中可以設置yii\base\ActionEvent::$isValid 為 false 停止運行后續動作, 例如:

[
 'on beforeAction' => function ($event) {
  if (some condition) {
   $event->isValid = false;
  } else {
  }
 },
]

注意 模塊 和 控制器 都會觸發 beforeAction 事件。 應用主體對象首先觸發該事件,然后模塊觸發(如果存在模塊),最后控制器觸發。 任何一個事件處理中設置 yii\base\ActionEvent::$isValid 設置為 false 會停止觸發后面的事件。

EVENT_AFTER_ACTION

該事件在每個 控制器動作 運行after之后會被觸發, 實際的事件名為 afterAction.

該事件的參數為 yii\base\ActionEvent 實例, 通過 yii\base\ActionEvent::$result 屬性, 事件處理可以訪問和修改動作的結果。例如:

[
 'on afterAction' => function ($event) {
  if (some condition) {
   // 修改 $event->result
  } else {
  }
 },
]

注意 模塊 和 控制器 都會觸發 afterAction 事件。 這些對象的觸發順序和 beforeAction 相反,也就是說, 控制器最先觸發,然后是模塊(如果有模塊),最后為應用主體。

應用主體生命周期

當運行 入口腳本 處理請求時, 應用主體會經歷以下生命周期:

  1. 入口腳本加載應用主體配置數組。
  2. 入口腳本創建一個應用主體實例:
    • 調用 preInit() 配置幾個高級別應用主體屬性, 比如 basePath。
    • 注冊 error handler 錯誤處理方法.
    • 配置應用主體屬性.
    • 調用 init() 初始化,該函數會調用 bootstrap() 運行引導啟動組件.
  3. 入口腳本調用 yii\base\Application::run() 運行應用主體:
    • 觸發 EVENT_BEFORE_REQUEST 事件。
    • 處理請求:解析請求 路由 和相關參數; 創建路由指定的模塊、控制器和動作對應的類,并運行動作。
    • 觸發 EVENT_AFTER_REQUEST 事件。
    • 發送響應到終端用戶.
  4. 入口腳本接收應用主體傳來的退出狀態并完成請求的處理。

更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • yii的入口文件index.php中為什么會有這兩句
  • PHP的Yii框架中YiiBase入口類的擴展寫法示例
  • Yii入門教程之目錄結構、入口文件及路由設置
  • Yii 框架使用Gii生成代碼操作示例
  • Yii 框架使用數據庫(databases)的方法示例
  • Yii 框架使用Forms操作詳解
  • Yii框架應用組件用法實例分析
  • Yii框架小部件(Widgets)用法實例詳解
  • Yii框架安裝簡明教程
  • Yii 框架入口腳本示例分析

標簽:瀘州 貴陽 雞西 郴州 黃石 綿陽 白城 迪慶

巨人網絡通訊聲明:本文標題《Yii 框架應用(Applications)操作實例詳解》,本文關鍵詞  Yii,框架,應用,Applications,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Yii 框架應用(Applications)操作實例詳解》相關的同類信息!
  • 本頁收集關于Yii 框架應用(Applications)操作實例詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一卡二卡三卡日韩欧美| 日韩欧美中文字幕精品| 成人免费毛片高清视频| 国产精品亚洲视频| 成人午夜私人影院| 国产成人精品亚洲日本在线桃色| 狠狠色伊人亚洲综合成人| 麻豆成人av在线| 国产一区二三区好的| 国产69精品久久99不卡| www.欧美日韩| 欧美在线不卡视频| 欧美一级理论性理论a| 日韩精品在线一区| 国产人久久人人人人爽| 椎名由奈av一区二区三区| 亚洲视频免费在线| 亚洲www啪成人一区二区麻豆| 天天操天天干天天综合网| 美国三级日本三级久久99| 国产精品自拍在线| 91久久精品一区二区三| 91精品国产免费久久综合| 国产日韩欧美精品电影三级在线| 国产精品传媒入口麻豆| 日韩影院免费视频| 成人三级伦理片| 欧美日本在线视频| 日本一区二区三区在线不卡| 亚洲图片欧美视频| 国产成人亚洲综合a∨婷婷| 欧美在线免费视屏| 久久久五月婷婷| 亚洲一区二区三区三| 国内外成人在线| 在线观看区一区二| 欧美白人最猛性xxxxx69交| 综合电影一区二区三区 | 欧美日韩午夜在线视频| 欧美精品一区二区三区高清aⅴ| 中文字幕一区二区三区乱码在线| 天天色天天操综合| 成人av网址在线观看| 91精品久久久久久蜜臀| 国产精品免费视频观看| 精一区二区三区| 在线观看亚洲成人| 国产精品久久免费看| 美女精品一区二区| 欧美色视频在线观看| 日本一区二区三区高清不卡| 免费观看一级特黄欧美大片| 91免费版pro下载短视频| 国产欧美日韩卡一| 蜜桃久久av一区| 在线观看日韩一区| 亚洲欧美激情在线| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 久久午夜羞羞影院免费观看| 亚洲高清久久久| 色悠悠亚洲一区二区| 久久久精品综合| 国产麻豆午夜三级精品| 欧美一区二区在线播放| 亚洲高清视频在线| 91久久线看在观草草青青| 国产精品久久久久久久久久免费看| 国产乱码精品一区二区三区忘忧草 | 婷婷开心久久网| 欧美亚洲一区二区在线| 1024成人网| 91亚洲精品久久久蜜桃网站| 中文欧美字幕免费| www.欧美精品一二区| 国产精品久久久久久亚洲毛片| 国产高清不卡一区二区| 国产精品麻豆网站| 99精品视频一区| 亚洲免费在线播放| 欧美日本一区二区三区四区| 日韩成人伦理电影在线观看| 欧美一区二区在线免费播放| 精品一区精品二区高清| 国产日韩欧美电影| 91久久香蕉国产日韩欧美9色| 洋洋成人永久网站入口| 欧美精品一卡两卡| 国产综合色在线视频区| 亚洲国产精品精华液2区45| 91在线一区二区| 午夜影院久久久| 精品国产百合女同互慰| 高清不卡一二三区| 一卡二卡欧美日韩| 日韩精品自拍偷拍| 国产精品一二三四五| 亚洲免费视频中文字幕| 日韩一级二级三级精品视频| 国产盗摄精品一区二区三区在线 | 成人高清在线视频| 亚洲国产精品天堂| 久久久久久电影| 色哟哟在线观看一区二区三区| 亚洲va欧美va人人爽午夜| 精品国产一区二区三区忘忧草| 国产精品亚洲第一区在线暖暖韩国| 综合激情成人伊人| 日韩欧美国产麻豆| 99热精品国产| 国内精品视频一区二区三区八戒| 亚洲欧洲精品天堂一级 | 不卡视频一二三| 日本不卡一二三区黄网| 国产精品久久久一本精品| 日韩亚洲国产中文字幕欧美| 岛国一区二区三区| 日韩电影在线观看一区| 成人免费在线播放视频| 日韩美一区二区三区| 在线影院国内精品| 成人在线一区二区三区| 捆绑变态av一区二区三区| 亚洲欧美视频一区| 国产精品你懂的在线欣赏| 精品国产一区二区三区久久影院| 色综合久久久久| 成人av在线影院| 国产成人在线视频播放| 另类欧美日韩国产在线| 亚洲在线视频免费观看| 亚洲国产岛国毛片在线| 精品国产制服丝袜高跟| 欧美一级二级三级乱码| 欧美午夜宅男影院| 色爱区综合激月婷婷| 91啦中文在线观看| 91首页免费视频| 99精品在线免费| 不卡的av电影在线观看| 国产精品911| 国产精品一区不卡| 国产一区二区美女诱惑| 久久精品国产999大香线蕉| 日韩精品一二三| 蜜桃视频在线观看一区| 久久99最新地址| 久久精品国产精品亚洲精品| 日韩高清电影一区| 蜜臀av亚洲一区中文字幕| 丝袜国产日韩另类美女| 日本欧美肥老太交大片| 日本va欧美va精品| 久久99久久99精品免视看婷婷 | 久久精品免视看| 国产精品私房写真福利视频| 欧美国产日本韩| 亚洲色图欧洲色图婷婷| 亚洲一区二区三区四区不卡| 日日夜夜免费精品| 激情综合色综合久久综合| 国产露脸91国语对白| av电影在线不卡| 欧美日韩国产精选| 精品美女被调教视频大全网站| 国产婷婷色一区二区三区四区| 国产精品乱码人人做人人爱| 亚洲影视在线观看| 久久99精品久久久久久动态图 | 91精品国模一区二区三区| 欧美成人一区二区三区| 国产欧美一区二区精品婷婷| 亚洲欧洲成人精品av97| 五月婷婷激情综合网| 国产综合成人久久大片91| 9i在线看片成人免费| 欧美日韩国产精品成人| 久久这里都是精品| 一区二区三区日韩在线观看| 久热成人在线视频| 99久久免费视频.com| 欧美喷潮久久久xxxxx| 国产日韩欧美精品电影三级在线| 亚洲乱码中文字幕| 精品亚洲国内自在自线福利| 99久久精品99国产精品| 日韩欧美自拍偷拍| 一区二区三区四区不卡在线| 国产精品资源在线看| 欧美亚洲综合另类| 欧美国产成人精品| 久久国产麻豆精品| 91极品视觉盛宴| 欧美国产视频在线| 精品一区二区免费在线观看| 日本乱人伦aⅴ精品| 亚洲国产精品成人久久综合一区| 日韩中文字幕一区二区三区| 91原创在线视频| 国产欧美精品一区二区三区四区| 男女激情视频一区|