久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot mybatis 實(shí)現(xiàn)多級(jí)樹形菜單的示例代碼

瀏覽:2日期:2023-03-13 09:10:25
一、前言

iview-admin中提供了 v-org-tree 這么一個(gè)vue組件可以實(shí)現(xiàn)樹形菜單,下面小編來提供一下在element-ui中的使用教程(項(xiàng)目見:https://github.com/lison16/v-org-tree)

小編集成了el-dropdown下拉菜單(鼠標(biāo)左擊顯示菜單),和右擊自定義菜單,兩種方式,效果圖如下:

SpringBoot mybatis 實(shí)現(xiàn)多級(jí)樹形菜單的示例代碼

二、使用教程

(1)安裝依賴

npm install clipboardnpm install v-click-outside-xnpm install v-org-tree

(2)引入組件

在main.js文件中引入

import TreeTable from ’tree-table-vue’import VOrgTree from ’v-org-tree’

(3)引入部分js工具方法

在項(xiàng)目目錄下 -> src -> directive文件夾中引入如下4個(gè)js文件

SpringBoot mybatis 實(shí)現(xiàn)多級(jí)樹形菜單的示例代碼

clipboard.js

import Clipboard from ’clipboard’export default { bind: (el, binding) => { const clipboard = new Clipboard(el, { text: () => binding.value.value }) el.__success_callback__ = binding.value.success el.__error_callback__ = binding.value.error clipboard.on(’success’, e => { const callback = el.__success_callback__ callback && callback(e) }) clipboard.on(’error’, e => { const callback = el.__error_callback__ callback && callback(e) }) el.__clipboard__ = clipboard }, update: (el, binding) => { el.__clipboard__.text = () => binding.value.value el.__success_callback__ = binding.value.success el.__error_callback__ = binding.value.error }, unbind: (el, binding) => { delete el.__success_callback__ delete el.__error_callback__ el.__clipboard__.destroy() delete el.__clipboard__ }}

draggable.js

import { on } from ’@/libs/tools’export default { inserted: (el, binding, vnode) => { const triggerDom = document.querySelector(binding.value.trigger) triggerDom.style.cursor = ’move’ const bodyDom = document.querySelector(binding.value.body) let pageX = 0 let pageY = 0 let transformX = 0 let transformY = 0 let canMove = false const handleMousedown = e => { let transform = /(.*)/.exec(bodyDom.style.transform) if (transform) {transform = transform[0].slice(1, transform[0].length - 1)const splitxy = transform.split(’px, ’)transformX = parseFloat(splitxy[0])transformY = parseFloat(splitxy[1].split(’px’)[0]) } pageX = e.pageX pageY = e.pageY canMove = true } const handleMousemove = e => { const xOffset = e.pageX - pageX + transformX const yOffset = e.pageY - pageY + transformY if (canMove) bodyDom.style.transform = `translate(${xOffset}px, ${yOffset}px)` } const handleMouseup = e => { canMove = false } on(triggerDom, ’mousedown’, handleMousedown) on(document, ’mousemove’, handleMousemove) on(document, ’mouseup’, handleMouseup) }, update: (el, binding, vnode) => { if (!binding.value.recover) return const bodyDom = document.querySelector(binding.value.body) bodyDom.style.transform = ’’ }}

directives.js

import draggable from ’./module/draggable’import clipboard from ’./module/clipboard’ const directives = { draggable, clipboard} export default directives

index.js

import directive from ’./directives’ const importDirective = Vue => { /** * 拖拽指令 v-draggable='options' * options = { * trigger: /這里傳入作為拖拽觸發(fā)器的CSS選擇器/, * body: /這里傳入需要移動(dòng)容器的CSS選擇器/, * recover: /拖動(dòng)結(jié)束之后是否恢復(fù)到原來的位置/ * } */ Vue.directive(’draggable’, directive.draggable) /** * clipboard指令 v-draggable='options' * options = { * value: /在輸入框中使用v-model綁定的值/, * success: /復(fù)制成功后的回調(diào)/, * error: /復(fù)制失敗后的回調(diào)/ * } */ Vue.directive(’clipboard’, directive.clipboard)} export default importDirective

(4)正式使用v-org-tree組件

在所要使用的地方新增如下幾個(gè)文件,比如我要寫在user-group文件夾中

SpringBoot mybatis 實(shí)現(xiàn)多級(jí)樹形菜單的示例代碼

項(xiàng)目srccomponentsorg-view下面建立二個(gè)文件:

index.js

import OrgView from ’./org-view.vue’export default OrgView

org-view.vue

<template> <div ref='dragWrapper' @mousedown='mousedownView' @contextmenu='handleDocumentContextmenu' > <div :style='orgTreeStyle'> <v-org-treev-if='data':data='data':node-render='nodeRender':expand-all='true'@on-node-click='handleNodeClick'collapsable ></v-org-tree> </div> </div></template> <script>import { on, off } from ’@/directive/module/tools’ export default { name: ’OrgView’, props: { zoomHandled: { type: Number, default: 1 }, data: Object, menuList: { type: Array, default: function () {return [ { key: ’edit’, label: ’編輯公司’ }, { key: ’detail’, label: ’查看公司’ }, { key: ’add’, label: ’新增子公司’ }, { key: ’delete’, label: ’刪除公司’ }] } } }, data () { return { currentContextMenuId: ’’, orgTreeOffsetLeft: 0, orgTreeOffsetTop: 0, initPageX: 0, initPageY: 0, oldMarginLeft: 0, oldMarginTop: 0, canMove: false } }, computed: { orgTreeStyle () { return {transform: `translate(-50%, -50%) scale(${this.zoomHandled}, ${ this.zoomHandled})`,marginLeft: `${this.orgTreeOffsetLeft}px`,marginTop: `${this.orgTreeOffsetTop}px` } } }, methods: { handleNodeClick (e, data, expand) { expand() }, closeMenu () { this.currentContextMenuId = ’’ }, getBgColor (data) { return this.currentContextMenuId === data.id? data.isRoot ? ’#0d7fe8’ : ’#5d6c7b’: ’’ }, nodeRender (h, data) { return (<div class={[ ’custom-org-node’, data.children && data.children.length ? ’has-children-label’ : ’’ ]} on-mousedown={event => event.stopPropagation()} on-contextmenu={this.contextmenu.bind(this, data)}> {data.label} <dropdown trigger='custom' visible={this.currentContextMenuId === data.id} nativeOn-click={this.handleDropdownClick} on-on-click={this.handleContextMenuClick.bind(this, data)} style={{ transform: `scale(${1 / this.zoomHandled}, ${1 /this.zoomHandled})` }} v-click-outside={this.closeMenu} > <dropdown-menu slot='list'> {this.menuList.map(item => {return ( <dropdown-item name={item.key}>{item.label}</dropdown-item>) })} </dropdown-menu> </dropdown></div> ) }, contextmenu (data, $event) { const event = $event || window.event event.preventDefault? event.preventDefault(): (event.returnValue = false) this.currentContextMenuId = data.id }, setDepartmentData (data) { data.isRoot = true this.departmentData = data }, mousedownView (event) { this.canMove = true this.initPageX = event.pageX this.initPageY = event.pageY this.oldMarginLeft = this.orgTreeOffsetLeft this.oldMarginTop = this.orgTreeOffsetTop on(document, ’mousemove’, this.mousemoveView) on(document, ’mouseup’, this.mouseupView) }, mousemoveView (event) { if (!this.canMove) return const { pageX, pageY } = event this.orgTreeOffsetLeft = this.oldMarginLeft + pageX - this.initPageX this.orgTreeOffsetTop = this.oldMarginTop + pageY - this.initPageY }, mouseupView () { this.canMove = false off(document, ’mousemove’, this.mousemoveView) off(document, ’mouseup’, this.mouseupView) }, handleDropdownClick (event) { event.stopPropagation() }, handleDocumentContextmenu () { this.canMove = false }, handleContextMenuClick (data, key) { this.$emit(’on-menu-click’, { data, key }) } }, mounted () { on(document, ’contextmenu’, this.handleDocumentContextmenu) }, beforeDestroy () { off(document, ’contextmenu’, this.handleDocumentContextmenu) }}</script> <style></style>

項(xiàng)目srccomponentszoom-controller下面建立二個(gè)文件:

index.js

import ZoomController from ’./zoom-controller’export default ZoomController

zoom-controller.vue

<template> <div class='zoom-wrapper'> <button @click='scale(’down’)'> <Icon type='md-remove' :size='14' color='#fff'/> </button> <span class='zoom-number'>{{ value }}%</span> <button @click='scale(’up’)'> <Icon type='md-add' :size='14' color='#fff'/> </button> </div></template> <script>export default { name: ’ZoomController’, props: { value: { type: Number, default: 100 }, step: { type: Number, default: 20 }, min: { type: Number, default: 10 }, max: { type: Number, default: 200 } }, methods: { scale (type) { const zoom = this.value + (type === ’down’ ? -this.step : this.step) if ((zoom < this.min && type === ’down’) ||(zoom > this.max && type === ’up’) ) {return } this.$emit(’input’, zoom) } }}</script> <style lang='less'>.trans(@duration) { transition: ~'all @{duration} ease-in';}.zoom-wrapper { .zoom-button { width: 20px; height: 20px; line-height: 10px; border-radius: 50%; background: rgba(157, 162, 172, 1); box-shadow: 0px 2px 8px 0px rgba(218, 220, 223, 0.7); border: none; cursor: pointer; outline: none; &:active { box-shadow: 0px 0px 2px 2px rgba(218, 220, 223, 0.2) inset; } .trans(0.1s); &:hover { background: #1890ff; .trans(0.1s); } } .zoom-number { color: #657180; padding: 0 8px; display: inline-block; width: 46px; text-align: center; }}</style>

項(xiàng)目srcview下面建立org.vue文件

<template> <Card shadow style='height: 100%;width: 100%;overflow:hidden'> <div class='department-outer'> <div class='zoom-box'><zoom-controller v-model='zoom' :min='20' :max='200'></zoom-controller> </div> <div class='view-box'><org-view v-if='data' :data='data' :zoom-handled='zoomHandled' :menuList='menuList' @on-menu-click='handleMenuClick'></org-view> </div> </div> </Card></template> <script>import { orgList } from ’@/api/org’import { layerDialog } from ’@/libs/Diaglog’import ’./org.less’ const OrgView = Vue.component(’OrgView’, function (resolve) { require([’/user/org-view’], resolve)})const ZoomController = Vue.component(’ZoomController’, function (resolve) { require([’/user/zoom-controller’], resolve)})export default { name: ’org_tree_page’, components: { OrgView, ZoomController }, data () { return { data: null, zoom: 100, menuList: [{ key: ’add’, label: ’新增子公司’},{ key: ’edit’, label: ’編輯公司’},{ key: ’delete’, label: ’刪除公司’} ] } }, computed: { zoomHandled () { return this.zoom / 100 } }, methods: { setDepartmentData (data) { data.isRoot = true return data }, handleMenuClick ({ data, key }) { switch (key) {case ’add’:case ’edit’: console.log(data) this.showDialog(data, key) breakcase ’delete’: break } }, showDialog (data, key) { data.key = key const option = {id: key + ’SaveDialog’,title: this.$i18n.t(key),width: ’600px’,height: ’550px’,url: ’/api/org/’ + Qs.stringify(data, { arrayFormat: ’brackets’ }) } layerDialog(option) }, getDepartmentData () { const entity = {} const levels = ’0,1,2,3,4,5,6’ entity.status = 1 getOrgList(entity, 1, 20, levels).then(result => {if (result.data.code === 10000) { let len = 0 const list = result.data.data.list if (list) { len = list.length } var data = { id: 0, label: ’阿里巴巴集團(tuán)’, level: 0 } if (len > 0) { data.children = this.formatData(list, 1, 0) } this.data = data} }) }, formatData (list, level, pid, pname) { const childrenData = [] for (let i = 0; i < list.length; i++) {const data = {}const item = list[i]if (level === item.level) { data.id = item.id data.label = item.name data.parentName = pname data.level = item.level data.children = this.formatData(list, level + 1, item.id, item.name) childrenData.push(data)} } return childrenData } }, mounted () { this.getDepartmentData() }}</script>

接口中核心代碼:

List<Station> stations = stationService.listByEntity(station,levelList);List<StationVo> stationVos = new ArrayList();for(Station s : stations) { StationVo vo = new StationVo(); vo.setId(s.getId()); vo.setLevel(s.getLevel()); vo.setName(s.getName()); stationVos.add(vo);}

數(shù)據(jù)庫中四個(gè)字段

SpringBoot mybatis 實(shí)現(xiàn)多級(jí)樹形菜單的示例代碼

mybatis 配置:

SpringBoot mybatis 實(shí)現(xiàn)多級(jí)樹形菜單的示例代碼

返回的json如下:

{ 'data' : { 'page' : 1, 'pageSize' : 20, 'total' : 6, 'pages' : 1, 'list' : [ { 'id' : 1, 'name' : '天貓科技服務(wù)有限公司', 'level' : 1, 'status' : 1, }, { 'id' : 2, 'name' : '淘寶技術(shù)服務(wù)有限公司', 'level' : 1, 'status' : 1, }, { 'id' : 3, 'name' : '聚劃算科技服務(wù)有限公司', 'level' : 1, 'status' : 1, }, { 'id' : 4, 'name' : '菜鳥金服', 'level' : 2, 'status' : 1, }, { 'id' : 5, 'name' : '黑鳥網(wǎng)絡(luò)', 'level' : 3, 'status' : 1, }, { 'id' : 6, 'name' : '白鳥 網(wǎng)絡(luò)', 'level' : 3, 'status' : 1, } ] }, 'message' : '獲取成功', 'code' : 200}

到此這篇關(guān)于SpringBoot mybatis 實(shí)現(xiàn)多級(jí)樹形菜單的示例代碼的文章就介紹到這了,更多相關(guān)SpringBoot mybatis多級(jí)樹形菜單內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 欧美精品xx | 国产日韩欧美在线 | 日本精品在线观看 | 日韩精品视频在线 | 国产视频久久 | 91亚洲国产成人久久精品网站 | 午夜影院在线 | 91在线成人| 一区二区在线 | 国产一区二区久久久 | 2018天天操夜夜操 | 亚洲成人一区 | 最新伦理片 | 日韩一级大片 | 91免费版在线观看 | 99re视频| 日韩欧美在线观看一区二区 | 成人国产精品久久 | 中文字幕视频在线观看 | 超碰999 | 国产精品影视 | 亚洲精品二区 | 成人免费在线电影 | 日韩精品在线播放 | 亚洲一区在线观看视频 | 国产中文在线 | 夜夜艹| 国产在线看片 | 中文字幕在线观看一区二区三区 | 日韩成人国产 | 国产精品视频一区二区三区不卡 | 色综合99| 亚洲码欧美码一区二区三区 | 成人精品视频99在线观看免费 | 亚洲精品一区二区三区在线观看 | 中文字幕一区二区三区四区 | av影片在线播放 | 亚洲午夜视频在线观看 | 久久久久久久9 | 在线欧美a| 日韩久久精品 | 亚洲精品视频在线播放 | 国产精品久久久久久久久久久久 | 国产精品九九九 | 精品亚洲一区二区三区在线观看 | 欧美二区三区 | 久久国产一区二区 | 久久久久久亚洲 | 国产精品成人在线观看 | 天天澡天天狠天天天做 | www一区| 韩日一区二区 | 久久精品一区二区三区四区 | 日精品| 男人天堂亚洲 | 精产国产伦理一二三区 | 一级一片免费视频 | 欧美精品久久久 | 在线亚洲一区 | 青青久草在线 | 亚洲免费不卡视频 | 一区二区不卡视频 | 精品在线播放 | 男人的天堂在线视频 | 久久精品在线 | 特级淫片日本高清视频免费 | 亚洲一区二区福利 | 一区二区三区免费看 | 黄色a视频 | 免费看片一区二区三区 | 九草av | 在线色网站 | 午夜视频网 | 亚洲36d大奶网 | 国产成人aaa| 国产一区二区精品在线观看 | 天天插天天操天天干 | 久久精品国产清自在天天线 | 免费av在线| 色婷婷久久久久swag精品 | 91精品在线播放 | 午夜影视av| 成人av免费在线观看 | 欧美精品一区二区三区蜜桃视频 | www婷婷av久久久影片 | 天天天天天天天天操 | 欧美激情高清 | 日韩在线免费 | www.一级电影| 国产精品久久免费看 | 亚洲欧洲精品成人久久奇米网 | 久久久精品视频免费观看 | 久热久热 | 九九九九九九精品任你躁 | 亚洲精品一区二区三区99 | 三级视频在线观看 | 黄色在线免费观看 | 北条麻妃国产九九九精品小说 | 中文字幕第七页 | 免费的污网站 | 人人干人人看 | 卡通动漫第一页 | 最新午夜 | 国产不卡免费视频 | 中文字幕一区二区三区日韩精品 | 精品2区| 久久97视频 | 一区二区三区视频在线免费观看 | 久久高清| 99精品视频在线免费观看 | 国产午夜精品久久久久久久 | 国产精品久久精品 | 一级一级一级毛片 | 在线二区 | 日韩精品久久久久久 | 最近免费中文字幕大全免费版视频 | 国产艳妇av视国产精选av一区 | 精品无码久久久久国产 | www.91在线 | 国产精品美女久久久久久久久久久 | 日韩精品一区二区三区在线播放 | 国产精品成人久久久久 | 久久精品a级毛片 | 日韩免费高清视频 | 国产精品一区电影 | 国产成人精品免费视频大全最热 | 精品久久久久久久久久久久久久 | 伊人网国产 | 黄色小视频在线观看 | 日韩中文字幕在线观看 | 久久久国产精品入口麻豆 | 久久亚洲一区二区三区四区 | 我看午夜视频 | 99久久99久久精品 | 成人久久久久久久 | 久久精品中文 | 日韩免费在线视频 | 国产精品亚洲综合 | 亚洲精品一区二三区 | 91久久久久久久久 | 亚洲精品一区二区三区在线看 | 亚洲日本韩国欧美 | 中文字幕亚洲二区 | 亚洲97色| 久久av资源 | 日韩欧美一区二区三区免费观看 | 久久久tv| 成人欧美 | 粉嫩高清一区二区三区精品视频 | 蜜桃av一区二区三区 | 日韩视频精品在线观看 | av天空 | 欧美精品一区二区在线观看 | 久久久久女人精品毛片九一韩国 | 久久久久久免费免费 | 日韩一级免费在线观看 | 黄色国产| 久久无码精品一区二区三区 | 国产成人久久精品一区二区三区 | 欧美激情一区二区三级高清视频 | 欧美一区二区三区免费在线观看 | 91男女视频 | 亚洲国产精品久久久久秋霞不卡 | 色综合久久久久 | 国产精品久久久久久久毛片 | 老熟女毛片 | 中字精品 | 国产区视频在线观看 | www..99热| www.成人| 国产一区二区高潮 | 久草视频在线播放 | 日本一区二区三区免费观看 | 亚洲欧洲一区二区三区 | 亚洲午夜免费视频 | 欧美一区二区三区在线观看视频 | 亚洲精选免费视频 | 精品视频一区二区在线观看 | 美国一级毛片a | av片在线免费观看 | 久久久久久久99精品免费观看 | 国产精品久久久一区二区 | 操操操操操操 | 在线激情视频 | 亚洲视频在线观看免费 | 亚洲最黄网站 | h片免费 | 一级在线观看视频 | www.日韩.com| 中文字幕日韩一区二区三区 | 波多野结衣一区二区三区四区 | 亚洲国产婷婷香蕉久久久久久99 | 国产精品久久久久久久午夜 | 精品视频久久久 | 欧美精品一区二区三区蜜桃视频 | 波多野结衣一区二 | 大桥未久亚洲精品久久久强制中出 | 国产二区视频 | 精品日韩一区二区 | 91久久九色| 夫妻午夜影院 | 久久中文字幕一区二区 | 91久久国产 | 国产在线精品一区 | 日本人做爰大片免费观看一老师 | 天天插天天射天天干 | 色欧美片视频在线观看 | 亚洲人成人一区二区在线观看 | 日韩欧美一区二区三区久久婷婷 | 成人免费淫片视频观 | 在线色网站| 欧美视频精品 | 99精品视频在线免费观看 | 亚洲男人的天堂在线 | 91精品国产高清一区二区三区 | 99国产精品99久久久久久 | 国产精品成人在线 | 色呦呦网站在线观看 | 欧美精品一区二区三区一线天视频 | 中文字幕高清视频 | 国产乱码精品一区二区三区忘忧草 | 色综合色综合 | 玖草在线视频 | 免费日韩视频 | 一区二区在线播放视频 | 欧美日韩中文字幕在线播放 | 亚洲国产成人av好男人在线观看 | 97在线观看视频 | 国产激情在线观看 | 国产亚洲精品成人av久久影院 | 亚洲在线播放 | 日韩一区二区三区在线观看 | 国产精品久久国产精品 | 亚洲欧洲一区二区 | 久久1区| 在线观看91 | 青娱乐一区 | 在线第一页 | 日韩精品一区二区三区免费观看视频 | 欧美日韩一区二区三区不卡视频 | 国产乱码精品一区二区三区中文 | 婷婷成人免费视频 | 日日操av | 日韩精品视频在线播放 | 玖玖在线精品 | 欧美激情a∨在线视频播放 中文字幕网在线 | 国产欧美精品一区二区 | 欧美精品一区三区 | 一级在线观看 | 午夜免费视频 | 欧美在线一二三 | 在线播放亚洲 | 国产精品成人在线 | 男女免费在线观看视频 | 综合久久综合久久 | 69性欧美高清影院 | 国产精品粉嫩白浆在线观看 | 日韩成人精品视频在线观看 | 国产亚洲精品成人av久久ww | 综合久久一区 | 欧美一区二区三区精品 | 91视频.www| 在线免费黄色 | 成人毛片视频免费 | 日韩视频在线播放 | av免费网站在线观看 | 国产精品色 | 久久成人国产 | h片在线看| 久久精品一 | 亚洲日本乱码一区两区在线观看 | 一区二区三区高清不卡 | 天天操天天干天天爽 | 亚洲香蕉精品 | 久久噜噜噜精品国产亚洲综合 | 91国产精品 | 亚洲日本精品视频 | av伊人网| 亚洲成人久久久 | 日韩成人精品 | 国产精品国色综合久久 | 91污在线观看 | 国产视频大全 | 午夜在线视频 | 51国产午夜精品免费视频 | 成人精品视频在线观看 | 亚洲高清在线 | 黄色a视频 | 亚洲日本精品视频 | 国产日韩一区二区三免费高清 | 亚洲精品日韩综合观看成人91 | 国产精品一区一区 | 国产精品99久久 | 成人在线片| 99精品国产在热久久 | 国产一区国产二区在线观看 | 春色av| 国产一区二区三区在线免费观看 | 国产精品人人做人人爽人人添 | 狠狠se| 国产999精品久久久久 | 欧美性吧 | 在线中文一区 | 99re6在线视频精品免费 | 91超碰caoporn97人人 | 国产精品伦理一区 | 日韩中文在线 | 天天干狠狠 | 亚洲一区二区在线 | 国产成人精品一区二区三区视频 | 麻豆乱码国产一区二区三区 | 国产午夜精品一区二区 | 亚洲欧美一区二区三区不卡 | 欧美激情精品久久久久久 | 日本一区二区三区在线视频 | 97色在线视频 | 日本一区二区中文字幕 | 成人午夜免费视频 | 91免费在线看 | а√天堂中文在线资源8 | 久久久影院 | 人人干天天干 | 国产精久久一区二区三区 | 国产精品一区二区三区四区 | 免费亚洲婷婷 | 超碰在线人 | 日日射天天干 | 久久精品久久久 | 亚洲精品视频区 | 国产精品高潮呻吟 | 日韩精品免费在线观看 | 91国产精品 | 久久久久久91 | 亚洲一区二区三区四区五区中文 | 美女视频一区二区三区 | 免费黄色片在线观看 | 婷婷激情综合 | 国产电影一区二区在线观看 | 成人影院在线 | 国产精品国产精品国产专区不卡 | 欧美高清成人 | 国产一级特黄aaa大片 | 日韩精品视频免费看 | 成人二区| 精品成人一区 | 亚洲精品字幕 | 国产精品一区久久久久 | 伊人精品视频在线观看 | 久久久久久国产精品 | 91视频一88av | 亚洲精品福利在线 | 91精品久久久久久综合五月天 | 中文字幕亚洲精品 | 亚洲一区二区三区免费 | 日韩中文字幕在线 | 亚洲精品电影在线观看 | 国产精品影院在线观看 | 欧美夜夜骑 | 国产精品18久久久久久久久久久久 | 99久久夜色精品国产亚洲1000部 | 百性阁综合另类 | 一级色视频| 亚洲国产精品精华液com | 欧美日韩国产综合在线 | 国产精品不卡一区 | 综合视频一区二区三区 | 日韩视频中文 | 成人免费视频网站在线观看 | 国产探花在线精品一区二区 | 久久天堂网 | 亚洲av毛片一级二级在线 | 国产成人精品av | 精品久久久久久久 | 欧美中文字幕在线 | 久热久爱| 91亚洲国产 | 午夜视频在线观看网站 | 久久综合一区二区三区 | 国产成人精品免费视频大全最热 | 国产免费天天看高清影视在线 | 国产精品成人网 | 久久精品一 | 综合网在线 | 最新日韩av | 国产日韩av在线 | 亚洲精品乱码久久久久久蜜桃不爽 | 国产成人精品综合 | 亚洲视频三区 | 国产欧美精品一区二区三区四区 | 日韩在线中文 | 在线碰 | 天天看天天爽 | 精品亚洲一区二区三区四区五区 | 国产福利在线播放 | av入口| 日韩不卡一区二区 | 国产精品久久久久久久久久久久冷 | 欧美精品久久久 | 香蕉三级| 夜夜骑av| 91se在线| 成年人在线看 | 国产96在线视频 | 91精品国产乱码久久久久久久久 | 亚洲精品国产剧情久久9191 | 日韩欧美在线看 | 精品国产一区二区三区久久久 | 免费国产网站 | 成人在线免费看 | 伊人手机在线视频 | 欧美一级二级视频 | 天天干天天操天天爽 | 久久精品国产免费 | 国产精品美女久久久久aⅴ国产馆 | 欧美福利在线 | 日本一区二区不卡 | 欧美精品免费在线观看 | 久久精品免费 | 精品少妇一区二区三区 | 久久久久久久一区 | 亚洲精品一区二区三区在线 | 国产乱肥老妇国产一区二 | 视频在线一区二区 | 国产在线看片 | 欧美日韩国产精品久久久久 | www久久久| 成人日韩| av影片在线播放 | 久久久资源 | 狠狠视频 | 亚洲欧美激情在线 | 国产精品一区在线看 | 精品精品 | 日本久久久影视 | 亚洲精品成人av | 91观看 | 亚洲成人av在线 | 免费看的av | 亚洲精品国产电影 | 欧美激情 | 久久久久久久av | 国产一区二区三区高清 | 久久成人国产精品 | 四虎影视免费在线观看 | 日韩av免费在线观看 | 99久久久久国产精品免费 | 亚洲精品久久久一区二区三区 | 男女网站在线观看 | 国产欧美精品一区二区三区 | 国产www视频 | 成人精品国产 | 免费在线成人网 | 亚洲精选国产 | 综合激情久久 | 久久99深爱久久99精品 | 毛片91| 这里精品 | 亚洲女人天堂成人av在线 | 黄色一级视频 | 狠狠插狠狠操 | 久久精品视 | 久久成人18免费网站 | 精品国产精品三级精品av网址 | 99亚洲精品| 91在线观看视频 | 91激情在线 | 日韩综合区 | 亚洲精品色| 狠狠色狠狠色综合网 | 高清成人 | 日本精品视频在线观看 | 99re在线视频| 蜜桃视频成人m3u8 | 成年网站视频 | 国产精品久久久久久久久久东京 | 国产成人精品一区二区视频免费 | h免费观看 | 欧美日韩精品一区二区三区在线观看 | 91精品国产综合久久久久久丝袜 | 中文字幕91 | 国产亚洲精品一区二区 | 午夜一级毛片 | 91久久精品国产91久久 | 久久美女视频 | 中文字幕亚洲区 | 亚洲免费视频在线观看 | 国产精品免费观看 | 亚洲视频一区在线播放 | 91亚洲高清 | 成人av观看| 中文字幕亚洲第一 | 久久久美女 | 久久久久久久久久久网站 | 亚洲视频在线一区 | 欧美另类一区二区 | 精品国产乱码久久久久久1区二区 | 午夜成人免费视频 | 成人h漫在线观看 | 午夜影视 | 91精品国产91久久久久久最新 | 中文字幕国产 | 精品乱子伦一区二区三区 | 伊人在线| 精品欧美久久 | 色欧美日韩 | 国产在线视频一区二区 | 精品三级在线观看 | 欧美一区二区伦理片 | 日韩专区一区二区三区 | 日日视频 | 一区二区三区在线播放 | 99精品免费视频 | 一区在线免费 | 美女久久 | 狠狠躁日日躁夜夜躁东南亚 | 久久精品亚洲一区二区 | 国产成人av综合 | 亚洲精品一区二区在线观看 | 欧美日韩精品免费观看视频 | 国产精品综合一区二区 | 91小视频 | 亚洲欧洲日本国产 | 午夜精品亚洲日日做天天做 | 亚洲一区在线日韩在线深爱 | 神马久久久久久久久 | av网站大全免费 | 久久精品久久久 | 国产乱视频网站 | 国产精品久久九九 | 日韩视频精品在线观看 | 日韩欧美国产一区二区 | 日韩一区中文字幕 | 在线视频 亚洲 | 久久久久久久久一区二区三区 | 欧美一级做性受免费大片免费 | 91麻豆产精品久久久久久 | 国产主播一区 | 国产精品视频一二三 | 亚洲一区 | 日本在线黄色 | 亚洲第一区在线 | 99中文字幕| 亚洲黄色高清视频 | 91精品国产综合久久久久久 | 亚洲 中文 欧美 日韩 在线观看 | 精品国产一区二区国模嫣然 | 国产成人精品久久久 | 日韩av免费在线观看 | 久久精品国产一区 | 精品国产一级毛片 | 免费看国产一级特黄aaaa大片 | 日日干夜夜操 | 北条麻妃99精品青青久久 | 99精品视频在线 | 亚洲精品国产高清 | 三区在线 | 97久久精品| 国产精品爱久久久久久久 | а√天堂资源中文最新版地址 | 国产一极片 | 一a级毛片 | 日韩精品99 | 91嫩草在线 | 国产精品久久久久aaaa九色 | 日本免费一区二区三区 | 一区二区免费在线视频 | 欧美日韩国产一区二区三区不卡 | 日韩欧美精品一区二区三区 | 亚洲国产一区二区三区四区 | 天堂免费在线 | 日韩在线国产 | 久久国产精品视频 | 久在线视频播放免费视频 | 一区二区三区在线视频播放 | 国产无区一区二区三麻豆 | 久久艹99 | 九九免费视频 | 久久涩 | 亚洲免费成人 | 亚洲黄色免费 | 色综合久久久久综合99 | 日本免费在线视频 | 日本a v在线播放 | 久久99国产精品免费网站 | 日韩中出 | 午夜激情视频在线观看 | 99精品欧美一区二区三区综合在线 | 久久免费福利视频 | 九九热这里只有精品6 | 青青久久网| 日韩视频一区二区三区 | 免费一区二区三区视频在线 | 国产成人自拍一区 | 欧美久久一区二区 | 求av网站| 国产人成精品一区二区三 | 国产一区精品电影 | 一级久久久久 | 最新日韩av | 精品99久久久久久 | 欧美日韩大片在线观看 | 中文字幕在线观看第一页 | 一级毛片视屏 | 日韩在线观看 | 亚洲日本韩国欧美 | 久久久久久久久久久久99 | 亚洲人成人一区二区在线观看 | 欧美激情一区二区 | 久久久久国产成人精品亚洲午夜 | 天堂福利影院 | xvideos视频 | 日韩欧美在线中文字幕 | 亚洲区在线 | 国产精品久久久久久久娇妻 | 色视频在线免费观看 |