亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 系統(tǒng) > iOS > 正文

yii框架分類樹(shù)擴(kuò)展示例

2020-07-26 03:37:10
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

提供兩種方式的分類樹(shù)格式,表格和下拉框形式的樹(shù)形結(jié)構(gòu)
可以自定義表格和下拉框的樣式,自定義以哪一列的參數(shù)為格式化數(shù)據(jù),自定義層級(jí)關(guān)系參數(shù),自定義表格列名稱,也可以設(shè)置時(shí)間的格式化。



調(diào)用方式

表格方式:

復(fù)制代碼 代碼如下:

<?php $this->widget('ext.tree.widgets.TreeWidget',array(
        'dataProvider'  => $dataProvider,           // 傳遞數(shù)據(jù)
        'pid'           => 'pid',                   // 設(shè)置層級(jí)關(guān)系id
        'tableClass'    => 'items table table-striped table-bordered table-condensed',  // 表格樣式
        'formatParam'   => 'name',                  // 設(shè)置格式化字段   
        'formatTime'    => array(                   // 設(shè)置格式化的時(shí)間參數(shù)
            'created'
        ),              
        'tableHead'     => array(                   // 設(shè)置表格列頭信息
                '分類ID',
                '頻道',
                '中文名',
                '英文名',
                '首字母',
                '排序',
                '分類級(jí)別',
                '父ID',
                '創(chuàng)建時(shí)間',
        ),   
    )); ?>

下拉框方式

復(fù)制代碼 代碼如下:

<?php $this->widget('ext.tree.widgets.TreeWidget',array(
            'dataProvider'  => $cate,           // 傳遞數(shù)據(jù)
            'pid'           => 'pid',                   // 設(shè)置父ID           
            'formatParam'   => 'name',                  // 設(shè)置格式化字段
            'treeType'      => false,                   // 輸出樹(shù)格式
            'selectClass'  => 'class="span11"',         // 設(shè)置下拉框樣式
             'defaultSelectValue' => array(             // 設(shè)置下拉框的默認(rèn)值和選項(xiàng)
                    0 , '≡ 作為一級(jí)欄目 ≡'
             ),
        )); ?>

TreeWidget.php

復(fù)制代碼 代碼如下:

<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Tree
 *
 * @author 汪嘉誠(chéng)
 * @email 819434425@qq.com
 * 
 * 表格方式調(diào)用
    <?php $this->widget('ext.tree.widgets.TreeWidget',array(
        'dataProvider'  => $dataProvider,           // 傳遞數(shù)據(jù)
        'pid'           => 'pid',                   // 設(shè)置層級(jí)關(guān)系id
        'tableClass'    => 'items table table-striped table-bordered table-condensed',  // 表格樣式
        'formatParam'   => 'name',                  // 設(shè)置格式化字段   
        'formatTime'    => array(                   // 設(shè)置格式化的時(shí)間參數(shù)
            'created'
        ),              
        'tableHead'     => array(                   // 設(shè)置表格列頭信息
                '分類ID',
                '頻道',
                '中文名',
                '英文名',
                '首字母',
                '排序',
                '分類級(jí)別',
                '父ID',
                '創(chuàng)建時(shí)間',
        ),   
    )); ?>
 *
 * 下拉框方式調(diào)用
 * <?php $this->widget('ext.tree.widgets.TreeWidget',array(
            'dataProvider'  => $cate,           // 傳遞數(shù)據(jù)
            'pid'           => 'pid',                   // 設(shè)置父ID           
            'formatParam'   => 'name',                  // 設(shè)置格式化字段
            'treeType'      => false,                   // 輸出樹(shù)格式
            'selectClass'  => 'class="span11"',         // 設(shè)置下拉框樣式
             'defaultSelectValue' => array(             // 設(shè)置下拉框的默認(rèn)值和選項(xiàng)
                    0 , '≡ 作為一級(jí)欄目 ≡'
             ),
        )); ?>
 */
class TreeWidget extends Widget {
    /**
     * CArrayDataProvider 數(shù)據(jù)對(duì)象或數(shù)組數(shù)據(jù)
     * 組件數(shù)據(jù)接收參數(shù)
     * @var Object || array
     */
    public $dataProvider;

    /**
     * 賦值接收數(shù)據(jù)
     * @var type
     */
    public $arrAll = array();

    /**
     * 按_ID作鍵名的多維關(guān)系
     * @var type
     */
    public $arrIdRelation = array();

    /**
     * 按_ID作鍵名的多維關(guān)系的簡(jiǎn)化,用來(lái)輸出樹(shù)狀圖
     * @var type
     */
    public $arrIdRelationSimple = array();

    /**
     * 將原始數(shù)據(jù)轉(zhuǎn)化成的_ID作鍵名的數(shù)組
     * @var type
     */
    public $arrIdAll = array();

    /**
     * 所有的父子關(guān)系
     * @var type
     */
    public $arrIdSon = array();

    /**
     * 葉子節(jié)點(diǎn)的_ID
     * @var type
     */
    public $arrIdLeaf = array();

    /**
     * 根節(jié)點(diǎn)的_ID
     * @var type
     */
    public $arrIdRoot = array();

    /**
     * 每個(gè)節(jié)點(diǎn)下的子孫后代_ID
     * @var type
     */
    public $arrIdChildren = array();

    /**
     * 每個(gè)節(jié)點(diǎn)回逆到根
     * @var type
     */
    public $arrIdBackPath = array();

    /**
     * 輸出樹(shù)的結(jié)構(gòu)
     * @var type
     */
    public $strItem = '<br />{$strSep}{$name}';

    /**
     * 設(shè)置表格樣式
     * @var type
     */
    public $tableClass  = 'items table table-striped table-bordered table-condensed';

    /**
     * 數(shù)據(jù)字段參數(shù)數(shù)組
     * @var type
     */
    public $dataKey   = array();

    /**
     * 指定需要格式化的字段
     * @var type
     */
    public $formatParam = 'name';

    /**
     * 表格列名稱
     * @var type
     */
    public $tableHead   = array();

    /**
     * 父ID
     * @var type
     */
    public $pid = 'pid';

    /**
     * 指定樹(shù)的類型
     * true 表格類型樹(shù)
     * false 下拉框類型樹(shù)
     * @var type
     */
    public $treeType = true;       

    /**
     * 綁定下拉框value值
     * @var type
     */
    public $optionValue = 'id';

    /**
     * 格式化時(shí)間
     * @var type
     */
    public $formatTime = array();

    /**
     * 下拉框樣式
     * @var type
     */
    public $selectClass = 'class="span3"';

    /**
     * 設(shè)置下拉框的默認(rèn)值和選項(xiàng)
     * @var type
     */
    public $defaultSelectValue = array(
        0,'≡ 作為一級(jí)欄目 ≡',
    );

    /**
     * 設(shè)置下拉框是否多選
     * true 多選
     * false 單選
     * @var type
     */
    public $isMultiple = false;

    /**
     * 綁定到下拉框的默認(rèn)值
     * @var type
     */
    public $bindSelectValue = 0;
   

    /**
     * 運(yùn)行
     */
    public function run() {               
            if (is_array($this->dataProvider) && count($this->dataProvider) > 0)
                    $data = $this->_run($this->dataProvider);
            else if (is_object($this->dataProvider) && count($this->dataProvider->rawData) > 0)
                    $data = $this->_run($this->dataProvider->rawData);                   

                               
            $this->render('tree' , array('data'=>$data));
    }

    /**
     *
     * @return type
     */
    private function _run($datas){           
            foreach ($datas as $data)
                    $this->arrAll[] = $data;
                    $this->dataKey = array_keys($data);

            $this->processData();
            if ($this->treeType === true)
                    $data = $this->getTable();
            else
                    $data = $this->getSelect($this->pid, $this->bindSelectValue, $this->isMultiple, $this->selectClass, $this->defaultSelectValue);

            return $data;
    }

    /**
     * 獲得html
     * @return type
     */
    public function getHtml() {
            return $this->genHtml();
    }

    /**
     * 設(shè)置分層字段
     * 表格類型
     * @return string
     */
    public function getItemName(){           
            $html = '<tr>';
            foreach($this->dataKey as $v) {                   
                    if ($this->formatParam == $v)
                            $str = '{$strSep}';
                    else
                            $str = '';

                    $html .= '<td>'.$str.'{$'.$v.'}</td>';
            }
            $html .= '</tr>';
            return $html;
    }

    /**
     * 獲取表格列名稱
     * @return string
     */
    public function getTableHead(){
            $html = '<tr>';
            foreach($this->tableHead as $v)
                    $html .= '<th>'.$v.'</th>';

            $html .= '</tr>';
            return $html;
    }

    /**
     * 獲得表格形式的樹(shù)
     * @return string
     */
    public function getTable() {                   
            $this->strItem = $this->getItemName();
            $strRe = '<table class="'.$this->tableClass.'">';
            $strRe .= '<thead>'.$this->getTableHead().'</thead><tbody>';
            $strRe .= $this->genHtml();
            $strRe .= '</tbody></table>';
            return $strRe;
    }   

    /**
     * 獲取下拉框形式的樹(shù)
     * @param type $strName
     * @param array $arrValue
     * @param type $blmMulti
     * @param type $strExt
     * @param type $arrFirst
     * @return string
     */
    public function getSelect($strName = 'tree', $arrValue = array(), $blmMulti = false, $strExt = '', $arrFirst = null) {
            !is_array($arrValue) && $arrValue = array($arrValue);
            foreach ($this->arrIdAll as $strTemp => $arrTemp) {
                    $this->arrIdAll[$strTemp]['selected'] = '';

                    if (in_array($arrTemp['id'], $arrValue)) {
                            $this->arrIdAll[$strTemp]['selected'] = ' selected="selected"';
                    }
            }
            $this->strItem = '<option value=/"{$'.$this->optionValue.'}/"{$selected} title=/"{$'.$this->formatParam.'}/">{$strSep}{$'.$this->formatParam.'}</option>';
            $strRe = '<select id="id_' . $strName . '" name="' . $strName . ($blmMulti ? '[]' : '') . '"';
            $strRe .= ($blmMulti ? ' multiple="multiple"' : '') . (empty($strExt) ? '' : ' ' . $strExt) . '>';

            if (is_array($arrFirst) && count($arrFirst) == 2) {
                    $strRe .= '<option value="' . $arrFirst[0] . '">' . $arrFirst[1] . '</option>';
            }

            $strRe .= $this->getHtml() . '</select>';           
            return $strRe;
    }

    /**
     * 數(shù)據(jù)處理
     * @param type $arrData
     * @return type
     */
    private function helpForGetRelation($arrData) {
            $arrRe = array();
            foreach ($arrData as $strTemp => $arrTemp) {
                    $arrRe[$strTemp] = $arrTemp;
                    if (isset($this->arrIdRelation[$strTemp])) {
                            $arrRe[$strTemp] = $this->arrIdRelation[$strTemp];
                    }
                    if (count($arrRe[$strTemp]) > 0) {
                            $arrRe[$strTemp] = $this->helpForGetRelation($arrRe[$strTemp]);
                    } else {
                            array_push($this->arrIdLeaf, $strTemp);
                    }
            }
            return $arrRe;
    }

    /**
     * 數(shù)據(jù)處理
     * @param type $arrData
     * @return type
     */
    private function helpForGetChildren($arrData) {
            $arrRe = array_keys($arrData);
            foreach ($arrData as $arrTemp) {
                    $arrRe = array_merge($arrRe, $this->helpForGetChildren($arrTemp));
            }
            return $arrRe;
    }

    /**
     * 數(shù)據(jù)處理
     * @param type $str
     * @return type
     */
    private function helpForGetBackPath($str) {
            $arrRe = array();
            $intTemp = $this->arrIdAll[$str][$this->pid];
            if ($intTemp > 0) {
                    $intTemp = '_' . $intTemp;
                    array_push($arrRe, $intTemp);
                    $arrRe = array_merge($arrRe, $this->helpForGetBackPath($intTemp));
            }
            return $arrRe;
    }

    /**
     * 數(shù)據(jù)處理
     */
    private function processData() {
            $count = count($this->arrAll);
            foreach ($this->arrAll as $arrTemp) {           
                    $strTemp = '_' . $arrTemp['id'];
                    $this->arrIdAll[$strTemp] = $arrTemp;
                    if ($arrTemp[$this->pid] > 0 && $count > 1) {
                            $strTemp_ = '_' . $arrTemp[$this->pid];
                            !isset($this->arrIdRelation[$strTemp_]) && $this->arrIdRelation[$strTemp_] = array();
                            $this->arrIdRelation[$strTemp_][$strTemp] = array();
                            !isset($this->arrIdSon[$strTemp_]) && $this->arrIdSon[$strTemp_] = array();
                            array_push($this->arrIdSon[$strTemp_], $strTemp);
                    } else {
                            !isset($this->arrIdRelation[$strTemp]) && $this->arrIdRelation[$strTemp] = array();
                            array_push($this->arrIdRoot, $strTemp);
                    }
            }

            $this->arrIdRelation = $this->helpForGetRelation($this->arrIdRelation);
            $this->arrIdLeaf = array_unique($this->arrIdLeaf);
            foreach ($this->arrIdRelation as $strTemp => $arrTemp) {
                    $this->arrIdChildren[$strTemp] = $this->helpForGetChildren($arrTemp);
                    in_array($strTemp, $this->arrIdRoot) && $this->arrIdRelationSimple[$strTemp] = $arrTemp;
            }
            $arrTemp = array_keys($this->arrIdAll);
            foreach ($arrTemp as $strTemp) {
                    $this->arrIdBackPath[$strTemp] = $this->helpForGetBackPath($strTemp);
            }
    }

    /**
     * 數(shù)據(jù)處理
     * @param type $intLen
     * @return string
     */
    private function genSeparator($intLen) {
            $strRe = '';
            $i = 0;
            while ($i < $intLen) {
                    $strRe .= ' ' . (($i + 1 == $intLen) ? '├' : '│');
                    $i++;
            }

            !empty($strRe) && $strRe .= '─';
            return $strRe;
    }

    /**
     * 數(shù)據(jù)處理
     * @param type $arrRelation
     * @param type $intSep
     * @return type
     */
    private function genHtml($arrRelation = null, $intSep = 0) {
            $strRe = '';
            null === $arrRelation && $arrRelation = $this->arrIdRelationSimple;
            foreach ($arrRelation as $strKey => $arrTemp) {
                    if (count($this->arrIdAll[$strKey]) > 0) {
                            if (!empty($this->formatTime) && count($this->formatTime) > 0) {
                                    foreach($this->formatTime as $formatTime) {
                                            if ($this->arrIdAll[$strKey][$formatTime] > 0) {
                                                    $this->arrIdAll[$strKey][$formatTime] = date('Y-m-d H:i:s' , $this->arrIdAll[$strKey][$formatTime]);
                                            }
                                    }                                   
                            }

                            $strSep = $this->genSeparator($intSep);                       
                            extract($this->arrIdAll[$strKey]);
                            eval('$strRe .= "' . $this->strItem . '";');                                               
                            count($arrTemp) > 0 && $strRe .= $this->genHtml($arrTemp, ($intSep + 1));
                    }
            }           
            return $strRe;
    }
}
?>

tree.php

復(fù)制代碼 代碼如下:

<?php  if (!empty($data)): ?>
<?php echo $data;  ?>
<?php else:  ?>
<tr><td colspan="4" class="empty"><span class="empty">沒(méi)有找到數(shù)據(jù).</span></td></tr>
<?php endif; ?>

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
自拍偷拍欧美日韩| 国产精品chinese| 亚洲人成电影在线观看网| 日韩一级精品| 国产日产一区二区| 日本.亚洲电影| 国产精品久久久久9999小说| 国产一区二区免费视频| 久久国产精彩视频| 日本韩国精品在线| 欧美做受高潮6| 中文字幕第15页| 日日摸夜夜爽人人添av| av福利精品| av资源种子在线观看| av免费在线观看网址| 国产美女被下药99| 国产精品日日夜夜| 午夜免费福利网站| 18深夜视频在线观看| 国产日韩精品视频一区二区三区| 国产精品久久久久久久久免费樱桃| 国产真人无码作爱视频免费| 91在线中文字幕| zzjj国产精品一区二区| 国产www免费| 国产98在线|日韩| 亚洲麻豆一区二区三区| 国产亚洲精品久久久网站好莱| 日本精品入口免费视频| 国产精品情侣呻吟对白视频| 日韩欧美在线123| 蜜桃视频网站在线| 欧美在线视频免费播放| 亚洲天堂视频在线播放| 福利在线一区二区| 一本色道久久88亚洲精品综合| 强乱中文字幕av一区乱码| 久久激情综合网| 国产a级一级片| 日本视频一区二区不卡| 污视频在线观看免费网站| 国产精品丝袜久久久久久消防器材| 超碰在线97国产| 国产成人在线免费观看| 成人免费大片黄在线播放| 日韩在线免费看| 97在线免费观看视频| 精品国产a毛片| 免费a漫导航| 亚洲深夜福利视频| 五月天婷亚洲天综合网精品偷| 99精品热视频只有精品10| 变态黄色小视频网站| 欧美xxxx吸乳| 奇米一区二区三区四区久久| 久久免费的精品国产v∧| 欧美激情免费观看| 蜜桃视频一区二区三区在线观看| 日本怡春院一区二区| 香蕉久久精品日日躁夜夜躁| 性欧美xxxx视频在线观看| 天堂√在线中文官网在线| 色妞ww精品视频7777| 91视频国产一区| 360天大佬第二季在线观看| 欧美专区福利在线| 久久久久久久综合色一本| www成人免费观看网站| 蜜桃视频www网站在线观看| 日本在线高清| 丁香啪啪综合成人亚洲小说| 欧美激情第10页| 国产一区久久| 日韩欧美视频在线免费观看| 国产精品久久久久一区二区三区| 在线看中文字幕| 久久久久久久久久久久久久久久久久久| 888奇米影视| 成人h版在线观看| 快射视频在线观看| 白白色视频在线| 97人妻精品一区二区免费| aaaaaa亚洲| 中文官网资源新版中文第二页在线观看| 亚洲欧洲一级| 亚洲黄色小说网址| 亚洲精品网站在线观看| 亚洲精品久久久久久久蜜桃臀| 国产精品伊人| 成人黄色av网站| 国产香蕉视频在线| 午夜免费电影一区在线观看| 在线欧美一级视频| 亚洲av毛片成人精品| 嫩模私拍啪啪| 国产一区二区三区在线视频观看| 日本一区二区三区免费乱视频| 成年人深夜福利| www.国产一区二区| av资源网在线观看| 欧美黑人视频一区| 久青草国产在线| 永久免费精品视频| 亚洲奶大毛多的老太婆| 日本一区精品视频| 欧美日本韩国一区二区三区视频| 欧美黑人极品猛少妇色xxxxx| 日韩av中文在线| 久久精品亚洲一区二区三区浴池| 一区二区三区在线免费观看视频| 中文字幕一区二区三区视频| 欧美色图影院| 在线播放国产精品二区一二区四区| 国产又粗又长又硬| 中文字幕视频在线免费欧美日韩综合在线看| 91丝袜呻吟高潮美腿白嫩在线观看| av无码av天天av天天爽| 美女任你摸久久| 你懂的在线网址| 国产在线一区不卡| 国产精品成人69xxx免费视频| 性欧美高清come| 麻豆精品网站| 久久夜色精品国产欧美乱极品| 秋霞毛片久久久久久久久| www.日本在线观看| 全部a∨一极品视觉盛宴| 婷婷激情五月网| 中文字幕一区在线播放| 成人男女网免费| 伊人影院在线视频| 午夜亚洲福利老司机| 色综合天天综合在线视频| 亚洲av成人精品一区二区三区| 四虎国产精品免费久久| 成人18夜夜网深夜福利网| 日本超碰在线观看| 一区二区三区视频在线观看视频| 欧美顶级xxxxbbbb| 中国黄色片视频| 成年女人免费又黄又爽视频| 午夜精品久久久久久久99老熟妇| 色哟哟亚洲精品一区二区| 在线 丝袜 欧美 日韩 制服| 久热精品视频在线观看| 国产伦精品一区二区三区88av| 在线观看精品自拍视频| 免费永久视频| 任你操视频在线观看| 久久人人爽爽爽人久久久| 69精品视频| 四季av综合网站| 精品国产乱码一区二区三区四区| 成人婷婷网色偷偷亚洲男人的天堂| 免费精品一区| 尤物在线观看| 亚洲精品不卡在线| 成人国产精品av| 日韩欧美手机在线| 亚洲午夜久久久久| 宅男深夜国产| 久久精品人妻一区二区三区| 波多野结衣影院| 精品免费久久久久久久| 色视频免费在线| 国产成人啪免费观看软件| 国内一区二区在线视频观看| 精品福利一区二区| 欧洲免费在线视频| 国产成人禁片免费观看| 老司机久久99久久精品播放免费| 奇门遁甲1982国语版免费观看高清| 午夜精品久久99蜜桃的功能介绍| 久久免费精彩视频| 欧美日韩福利电影| www.国产一区| 国产精品久久久久久久第一福利| 91丨九色丨尤物| 国产成人鲁色资源国产91色综| 新天堂中文资源官网在线观看| 午夜免费福利视频| 亚洲人成绝费网站色ww| 人妻熟女一二三区夜夜爱| 九七伦理97伦理手机| 精品国产乱码久久久久久婷婷| 午夜精品一区二区三区视频免费看| 高清电影在线免费观看| 国产成人香蕉在线视频网站| 国产精品专区一| 亚洲av无码片一区二区三区| 欧美日韩三区四区| 日韩免费一区二区三区| 丝袜亚洲欧美日韩综合| 日本伊人色综合网| 欧美极品videos大乳护士| xxx性欧美在线| 红桃av永久久久| 北岛玲heyzo一区二区| 制服丝袜中文字幕第一页| 亚洲成人精品综合在线| 日本视频精品一区| 99久久精品国产一区二区三区| 日韩一区二区三区高清在线观看| 熟女少妇在线视频播放| 亚洲成人精品av| 欧美中文字幕视频在线观看| 欧美三级午夜理伦三级小说| 噼里啪啦在线中文观看| 欧美日韩在线网站| 亚洲国产精品久久久久婷婷884| 国产91精品久久久久久| 国产人妖一区二区| 国产色a在线| www.操.com| 亚洲专区视频| 97精品人妻一区二区三区| jiuse.com91视频| 久久久不卡网国产精品二区| 日韩一二在线观看| 678五月天丁香亚洲综合网| 啊啊啊久久久| 亚洲精品午夜精品| 少妇性色午夜淫片aaa播放| 99thz桃花论族在线播放| 美女啪啪无遮挡免费久久网站| 91成人综合网| 欧美在线观看网站| aaaaa毛片| 久久视频在线观看免费| 欧美videossexotv100| av片免费观看| 国产调教打屁股xxxx网站| av中文字幕一区| 国产亚洲综合视频| 亚洲综合视频| 国产精品免费无遮挡| 成人狠狠色综合| 久久精品无码一区二区三区毛片| 欧美视频在线一区二区三区| 国产精品入口福利| 国产欧美在线看| 欧洲av在线播放| 欧美 日韩 国产在线| 欧美精品欧美精品| www99xav| 黄色国产在线视频| 成人免费黄色网址| 国产成人一二| 国产成人欧美在线观看| freexxxx性特大另类| 麻豆精品永久免费视频| 国产原厂视频在线观看| 欧美jiizzhd精品欧美| 日韩大尺度在线观看| 日韩肉感妇bbwbbwbbw| 鲁大师精品99久久久| 蜜桃视频一区二区在线观看| 青青热久免费精品视频在线18| 欧美性久久久| 久久久久无码精品国产sm果冻| 国产福利电影在线| 久草在线免费福利资源| 国产91免费在线观看| 色yeye免费人成网站在线观看| 国产视频在线播放| 日韩一级片免费视频| 欧美日韩精品亚洲精品| 欧美黑人xxxxx性受| 97在线公开视频| 91.·福利| 国产人妻精品一区二区三区不卡| 午夜视频一区二区在线观看| 91国内揄拍国内精品对白| 爱情岛论坛亚洲自拍| 97成人资源| 91九色在线视频| 中文字幕在线看精品乱码| 国产成人精品无码高潮| 一区二区三区高清不卡| 欧美三日本三级少妇三99| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲人成电影网站| 日韩精品国产欧美| 国产网站观看9久| 成人亚洲在线观看| 欧美军同video69gay| 四虎精品一区二区| 在线免费观看国产精品| 最近2019年中文视频免费在线观看| 免费观看成年在线视频网站| 欧美国产在线一区| jizzzz日本| 四季av一区二区| 欧美一级片久久久久久久| 黄频视频在线观看| 欧美老女人xx| 免费精品视频一区| 亚洲mv大片欧洲mv大片精品| 日韩护士脚交太爽了| 亚洲精品在线观看av| 91热门视频在线观看| 欧美亚洲国产日韩2020| 亚洲高清视频在线播放| 国产精品久久久久久亚洲伦| 欧美日韩福利| 国产高潮免费视频| 色老综合老女人久久久| 欧美一区二区三区免费视| 天使萌一区二区三区免费观看| 国产白浆在线| 国内精品久久久久久不卡影院| 国产精品亚洲第一| 久久视频免费看| 亚洲经典三级| 日韩av电影免费观看高清完整版| 国产99久久精品一区二区永久免费| 另类图片亚洲另类| 一广人看www在线观看免费视频| 三级毛片电影网站| 欧美婷婷久久五月精品三区| 国产成人a人亚洲精品无码| 国产亚洲精品久久久久久豆腐| 欧美精品小视频| 欧洲精品一区二区三区在线观看| 欧美精品不卡| 欧美日韩综合在线免费观看| 欧美1区二区三区公司|