黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

echarts實現3d柱狀圖的2種方式舉例

瀏覽:179日期:2022-06-01 13:59:39
目錄
  • echarts實現3d柱狀圖的兩種方式
  • 方法1: echarts.graphic.extendShape 自定義圖形
  • 方式2: 象型柱圖(type: “pictorialBar”)
  • 總結

echarts實現3d柱狀圖的兩種方式

看了不少關于3d柱狀圖的案例,發現做3d柱狀圖 常用的兩種方式就是 自定義圖形和象型柱圖, 兩種實現方式效果如下:

方法1: echarts.graphic.extendShape 自定義圖形

echarts自定義圖形的詳細用法點這里, 官網點這里, 圖中第一個3d柱狀圖我參考的案例在這里, 看了很多 echarts這種3d案例, 自定義圖形做3d柱狀圖,貌似只能有個柱子(可能 能做雙柱,但是 我真的不會)

封裝成組件的完整代碼如下:

<template></template><script setup lang="ts">import { nextTick, watch } from "vue";import echarts from "@/assets/ts/echarts";import useResizeChart from "@/hooks/useResizeChart";function mergeConfig(defaultConfig: object, config: object) {    return Object.assign(defaultConfig, config);}function initOption(): echarts.EChartsCoreOption {    // 繪制左側面    const CubeLeft = echarts.graphic.extendShape({shape: {    x: 0,    y: 0,},buildPath: function (ctx, shape) {    // 會canvas的應該都能看得懂,shape是從custom傳入的    const xAxisPoint = shape.xAxisPoint;    const c0 = [shape.x + 3.5, shape.y];    const c1 = [shape.x - 11.5, shape.y - 3];    const c2 = [xAxisPoint[0] - 11.5, xAxisPoint[1] - 6.5];    const c3 = [xAxisPoint[0] + 3.5, xAxisPoint[1]];    ctx.moveTo(c0[0], c0[1])// @ts-ignore.lineTo(c1[0], c1[1]).lineTo(c2[0], c2[1]).lineTo(c3[0], c3[1]).closePath();},    });    // 繪制右側面    const CubeRight = echarts.graphic.extendShape({shape: {    x: 0,    y: 0,},buildPath: function (ctx, shape) {    const xAxisPoint = shape.xAxisPoint;    const c1 = [shape.x + 3, shape.y];    const c2 = [xAxisPoint[0] + 3, xAxisPoint[1]];    const c3 = [xAxisPoint[0] + 12, xAxisPoint[1] - 7];    const c4 = [shape.x + 12, shape.y - 7];    ctx.moveTo(c1[0], c1[1])// @ts-ignore.lineTo(c2[0], c2[1]).lineTo(c3[0], c3[1]).lineTo(c4[0], c4[1]).closePath();},    });    // 繪制頂面    const CubeTop = echarts.graphic.extendShape({shape: {    x: 0,    y: 0,},buildPath: function (ctx, shape) {    const c1 = [shape.x + 3.5, shape.y];    const c2 = [shape.x + 12.5, shape.y - 7.5]; //右點    const c3 = [shape.x - 2.5, shape.y - 10];    const c4 = [shape.x - 11.5, shape.y - 3];    ctx.moveTo(c1[0], c1[1])// @ts-ignore.lineTo(c2[0], c2[1]).lineTo(c3[0], c3[1]).lineTo(c4[0], c4[1]).closePath();},    });    // 注冊三個面圖形    echarts.graphic.registerShape("CubeLeft", CubeLeft);    echarts.graphic.registerShape("CubeRight", CubeRight);    echarts.graphic.registerShape("CubeTop", CubeTop);    const VALUE = props.value;    const series = [{    type: "custom",    renderItem: (params: any, api: any) => {let cubeLeftStyle = new echarts.graphic.LinearGradient(0, 0, 0, 1, [    {offset: 0,// @ts-ignorecolor: props.color[0],    },    {offset: 1,color: "rgba(7, 20, 52,0.7)",    },]);let cubeRightStyle = new echarts.graphic.LinearGradient(0, 0, 0, 1, [    {offset: 0,color: "rgba(7, 20, 52,1)",    },    {offset: 1,// @ts-ignorecolor: props.color[0],    },]);let cubeTopStyle = new echarts.graphic.LinearGradient(0, 0, 0, 1, [    {offset: 0,// @ts-ignorecolor: props.color[1] || props.color[0],    },]);const location = api.coord([api.value(0), api.value(1)]);return {    type: "group",    children: [{    type: "CubeLeft",    shape: {api,xValue: api.value(0),yValue: api.value(1),x: location[0],y: location[1],xAxisPoint: api.coord([api.value(0), 0]),    },    style: {fill: cubeLeftStyle,    },},{    type: "CubeRight",    shape: {api,xValue: api.value(0),yValue: api.value(1),x: location[0],y: location[1],xAxisPoint: api.coord([api.value(0), 0]),    },    style: {fill: cubeRightStyle,    },},{    type: "CubeTop",    shape: {api,xValue: api.value(0),yValue: api.value(1),x: location[0],y: location[1],xAxisPoint: api.coord([api.value(0), 0]),    },    style: {fill: cubeTopStyle,    },},    ],};    },    data: VALUE,},{    type: "bar",    label: {show: true,position: "top",fontSize: 14,color: props.color[0],offset: [2, -10],    },    itemStyle: {color: "transparent",    },    tooltip: {},    data: VALUE,},    ];    const title = mergeConfig({    text: "",    textStyle: {color: props.color[0],fontWeight: "800",fontSize: 12,    },    left: "18px",    top: "1%",},props.title,    );    const XAxisLine = mergeConfig({    show: false,    lineStyle: {type: "solid",width: 1,color: "#2c3954",    },},props.XAxisLine,    );    const YAxisLine = mergeConfig({    show: false,    lineStyle: {show: true,lineStyle: {    type: "solid",    width: 1,},    },},props.YAxisLine,    );    const legend = mergeConfig({    show: true,    left: "center",    top: "95%",    icon: "circle",    textStyle: {color: "#fff",    },},props.legend,    );    const grid = mergeConfig({    left: "5%",    right: "5%",    top: "12%",    bottom: "0%",    containLabel: true,},props.grid,    );    const XSplitLine = mergeConfig({    show: false,    lineStyle: {type: "dashed",width: 1,    },},props.XSplitLine,    );    // 縱坐標分割線配置    const YSplitLine = mergeConfig({    // 是否顯示    // show: false,    show: true,    // 樣式    lineStyle: {color: "#13263e",type: "solid",width: 1,    },},props.YSplitLine,    );    const XAxisTick = mergeConfig({    show: false,    length: 5,    inside: true,    alignWithLabel: true,    lineStyle: {type: "solid",width: 1,    },},props.XAxisTick,    );    const YAxisTick = mergeConfig({    show: true,    length: 5,    inside: true,    alignWithLabel: true,    lineStyle: {color: "#13263e",type: "solid",width: 1,    },},props.YAxisTick,    );    let option: echarts.EChartsCoreOption = {title,tooltip: {    show: false,    // 指示器提示的坐標軸    trigger: "axis",    // 陰影提示器    axisPointer: {type: "shadow",shadowStyle: {    shadowColor: "#2e3e51", // 設置陰影的顏色},    },    formatter: function (params: any) {const item = params[1];return item.name + " : " + item.value;    },    // 提示框背景顏色    backgroundColor: "#122843",    // 提示框邊框顏色    borderColor: "#42D1F1",    // 提示框文本樣式    textStyle: {color: "#fff",    },},legend: legend,grid: grid,xAxis: {    type: "category",    // boundaryGap: false,    data: props.xAxisData,    axisLine: XAxisLine,    splitLine: XSplitLine,    axisTick: XAxisTick,    axisLabel: {//x軸文字的配置show: true,color: "#fff",fontSize: 12,rotate: 30,    },},yAxis: {    type: "value",    name: props.yUnit,    nameTextStyle: {color: "#fff",fontSize: 16,    },    axisLine: YAxisLine,    splitLine: YSplitLine,    axisTick: YAxisTick,    axisLabel: {//y軸文字的配置color: "#fff",fontSize: 12,    },},series,    };    option = Object.assign(option, props.config);    return option;}const props = defineProps({    pid: {type: String,required: true,    },    title: {type: Object,default: {},    },    xAxisData: {type: Array,required: true,    },    legend: {type: Object,default: {},    },    grid: {type: Object,default: {},    },    XAxisLine: {type: Object,default: {},    },    YAxisLine: {type: Object,default: {},    },    yUnit: {type: String,default: "",    },    XSplitLine: {type: Object,default: {},    },    YSplitLine: {type: Object,default: {},    },    XAxisTick: {type: Object,default: {},    },    YAxisTick: {type: Object,default: {},    },    config: {type: Object as () => echarts.EChartsCoreOption,default: {},    },    value: {type: Array,required: true,    },    // 柱子的顏色    color: {type: Array,default: ["rgba(29, 230, 235,1)", "rgba(7, 235, 251,1)"],    },});let option = initOption();let container: HTMLElement | null = null;let myChart: echarts.ECharts | null = null;const renderChart = (notMerge: boolean = false) => {    if (!myChart) myChart = echarts.init(container as HTMLElement);    myChart.setOption(option, {notMerge,    });};nextTick(() => {    container = document.querySelector("#" + props.pid) as HTMLElement;    renderChart();    useResizeChart(container, myChart as echarts.ECharts);});watch(    () => props,    (newVal, oldVal) => {let notMerge = true;option = initOption();renderChart(notMerge);    },    {deep: true,    },);function exportImg() {    const src = (myChart as echarts.ECharts).getDataURL({pixelRatio: 2,backgroundColor: "#08172A",    });    const a = document.createElement("a");    a.href = src;    a.download = (option.title as { text: string }).text || "chart-img";    a.click();}defineExpose({    exportImg,});</script><style lang="scss" scoped></style>

方式2: 象型柱圖(type: “pictorialBar”)

echarts象型柱圖的官網配置項點這里, 參考的案例在這里, 象型柱圖可以單柱可以雙柱

封裝成組件的完整代碼如下:

<template></template><script setup lang="ts">import { nextTick, watch } from "vue";import echarts from "@/assets/ts/echarts";import { LegendComponent } from "echarts/components";echarts.use([LegendComponent]);// 合并配置方法function mergeConfig(defaultConfig: object, config: object) {  return Object.assign(defaultConfig, config);}function initOption(): echarts.EChartsCoreOption {  // 此時 使用組件只需要要將  zzx1的數據和 wgx1 的數據傳遞到子組件  // 第一個柱子的值  const zzx1 = props.series[0].data; // 實際值  // 第二個柱子的值  const wgx1 = props.series[1].data;  // 變量: 改變每個柱子的大小, 后期可將其設置為動態的?  const barWidth = 30;  const series = [    // (0)第一個柱子 中間的正方形    {      type: "pictorialBar", // 象型柱狀      symbol: "diamond",      symbolSize: [barWidth, 5], // 調整大小      // symbolOffset: [-13, -3], // 圖形相對于原本位置的偏移      symbolOffset: ["-55%", -3], // 圖形相對于原本位置的偏移      symbolPosition: "end",      z: 12,      color: "#2584e0",      data: zzx1,    },    // (1)第二個柱子中間的正方形    {      type: "pictorialBar",      symbol: "diamond",      symbolSize: [barWidth, 8],      // symbolOffset: [13, -3],      symbolOffset: ["55%", -3],      symbolPosition: "end",      z: 12,      color: "#07fdd3",      data: wgx1,    },    //  (2)第一個柱子 底部的正方形    {      type: "pictorialBar",      symbol: "diamond",      symbolSize: [barWidth, 5],      // symbolOffset: [-13, 3],      symbolOffset: ["-55%", 3],      z: 12,      color: "#355ba8",      data: zzx1,    },    // (3)第二個柱子 底部的正方形    {      name: "",      type: "pictorialBar",      symbol: "diamond",      symbolSize: [barWidth, 5],      // symbolOffset: [13, 3],      symbolOffset: ["55%", 3],      color: "#2095a3",      z: 12,      data: wgx1,    },    // (4)一個柱子, 下方有顏色填充的的柱子    {      name: props.nameOne,      type: "bar",      barWidth: barWidth,      barGap: "10%",      // zlevel: 2,      stack: "1",      itemStyle: {opacity: 0.7,color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [  {    offset: 0.5,    color: "rgba(44, 97, 188,0.7)",    // color: "#2c61bc",  },  {    offset: 0.5,    color: "#2584e0",  },  {    offset: 1,    color: "#214a87",  },]),// barBorderRadius: 0,borderRadius: 0,      },      // 是否在每個柱子顯示 相應的值      label: {show: true,position: ["0", "-25"],color: "#005dd9",fontSize: 14,fontWeight:"bold"      },      data: zzx1,    },    // (5)第二個柱子, 下方有顏色填充的的柱子    {      name: props.nameTow,      type: "bar",      stack: "2",      barWidth: barWidth,      itemStyle: {opacity: 0.7,color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [  {    offset: 0.5,    color: "rgba(15, 182, 182,0.7)",  },  {    offset: 0.5,    color: "#0ccec7",  },  {    offset: 1,    color: "#0bddd0",  },]),// barBorderRadius: 0,borderRadius: 0,      },      // 是否在每個柱子顯示 相應的值      label: {show: true,position: ["0", "-25"],color: "#06e6f6",fontSize: 14,fontWeight:"bold"      },      data: wgx1,    },  ];  // title 配置  const title = mergeConfig(    {      // 是否顯示      show: true,      // title 文本      text: "",      top: 0,      left: "left",      // 文字樣式      textStyle: {color: "#fff",fontSize: 16,      },    },    props.title  );  // 橫坐標軸線配置  const XAxisLine = mergeConfig(    {      // 是否顯示      show: true,      // show: false,      // 樣式      lineStyle: {// color: "rgba(46, 60, 87)",type: "solid",width: 1,      },    },    props.XAxisLine  );  // 縱坐標軸線配置  const YAxisLine = mergeConfig(    {      // 是否顯示      // show: true,      show: false,      // 樣式      lineStyle: {// 是否顯示show: true,// 樣式lineStyle: {  color: "#fff",  type: "solid",  width: 1,},      },    },    props.YAxisLine  );  // 橫坐標分割線配置  const XSplitLine = mergeConfig(    {      // 是否顯示      show: false,      // 樣式      lineStyle: {color: "#fff",type: "dotted",width: 1,      },    },    props.XSplitLine  );  // 縱坐標分割線配置  const YSplitLine = mergeConfig(    {      // 是否顯示      show: true,      // 樣式      lineStyle: {color: "rgba(46, 59, 86)",type: "dashed",// type: "solid",width: 1,      },    },    props.YSplitLine  );  // 橫坐標刻度配置  const XAxisTick = mergeConfig(    {      // 是否顯示      show: false,      // 刻度長度      length: 5,      // 是否朝內      inside: true,      // 刻度是否居中      alignWithLabel: true,      // 樣式      lineStyle: {color: "#fff",type: "solid",width: 1,      },    },    props.XAxisTick  );  // 縱坐標刻度配置  const YAxisTick = mergeConfig(    {      // 是否顯示      show: false,      // 刻度長度      length: 5,      // 是否朝內      inside: true,      // 刻度是否居中      alignWithLabel: true,      color: "#fff",      // 樣式      lineStyle: {color: "#fff",type: "solid",width: 1,      },    },    props.YAxisTick  );  // 圖例標記配置  const legend = mergeConfig(    {      show: true,      right: "0",      top: "0",      icon: "rect",      itemHeight: 10,      itemWidth: 10,      textStyle: {color: "#fff",      },      // 取消默認點擊事件      selectedMode: false,      // 距離      itemGap: 50,    },    props.legend  );  // 指示器:  const tooltip = {    show: false,    trigger: "axis",    axisPointer: {      type: "shadow",    },    formatter: function (e: any) {      // console.log(e);      var str =e[4].axisValue +"<br>" +"<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:" +e[4].color.colorStops[0].color +";"></span>" +"" +e[4].seriesName +" : " +e[4].value +"<br>" +"<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:" +e[5].color.colorStops[0].color +";"></span>" +"" +e[5].seriesName +" : " +e[5].value;      return str;    },    // 提示框背景顏色    backgroundColor: "#122843",    // 提示框邊框顏色    borderColor: "#42D1F1",    // 提示框文本樣式    textStyle: {      color: "#fff",    },  };  // 匯總配置  let option: echarts.EChartsCoreOption = {    title,    tooltip,    legend,    grid: {      top: "12%",      left: "2%",      right: "2%",      bottom: "5%",      // height: "85%",      containLabel: true,    },    xAxis: {      type: "category",      boundaryGap: true,      data: props.xAxisData,      axisLine: XAxisLine,      splitLine: XSplitLine,      axisTick: XAxisTick,      axisLabel: {// textStyle: {color: "#fff",fontSize:16// },      },    },    yAxis: {      type: "value",      // 單位      name: props.yUnit,      axisLine: YAxisLine,      splitLine: YSplitLine,      axisTick: YAxisTick,      axisLabel: {// textStyle: {color: "#fff",fontSize:16// },      },            min: 0,      // max: props.max,    },    series,  };  // 合并配置生成最終配置  option = Object.assign(option, props.config);  return option;}// propsconst props = defineProps({  // 父容器ID  pid: {    type: String,    required: true,  },  title: {    type: Object,    default: {},  },  // 數據  series: {    // type: Array as () => Array<BarSeriesOption>,    type: Array as () => { data: number[] }[],    required: true,  },  // 橫坐標  xAxisData: {    type: Array,    required: true,  },  // 圖例標記  legend: {    type: Object,    default: {},  },  // 橫坐標軸線  XAxisLine: {    type: Object,    default: {},  },  // 縱坐標軸線  YAxisLine: {    type: Object,    default: {},  },  // y軸單位  yUnit: {    type: String,    default: "",  },  // 橫坐標分割線  XSplitLine: {    type: Object,    default: {},  },  // 縱坐標分割線  YSplitLine: {    type: Object,    default: {},  },  // 橫坐標刻度  XAxisTick: {    type: Object,    default: {},  },  // 縱坐標刻度  YAxisTick: {    type: Object,    default: {},  },  // 總配置,將與默認配置與用戶傳入的配置合并  config: {    type: Object as () => echarts.EChartsCoreOption,    default: {},  },  // 最值  // max: {  //     type: Number,  //     // requird: true,  //     default: 5000,  // },  nameOne: {    type: String,    default: "昨日總量",  },  nameTow: {    type: String,    default: "今日總量",  },});// optionlet option = initOption();// chart 容器let container: HTMLElement | null = null;// chart 實例let myChart: echarts.ECharts | null = null;// 渲染方法const renderChart = () => {  if (!myChart) myChart = echarts.init(container as HTMLElement);  myChart.setOption(option);};// DOM加載后渲染 chartnextTick(() => {  // 獲取容器  container = document.querySelector("#" + props.pid) as HTMLElement;  // 渲染 chart  renderChart();  // 自適應 chart  // useResizeChart(container, myChart as echarts.ECharts);});// 監聽 props 變化watch(  () => props,  () => {    // 更新 option    option = initOption();    // 重新渲染chart    renderChart();  },  {    deep: true,  });// 導出為圖片function exportImg() {  // 生成 base64 圖片  const src = (myChart as echarts.ECharts).getDataURL({    pixelRatio: 2,    backgroundColor: "#08172A",  });  // 下載  const a = document.createElement("a");  a.href = src;  a.download = (option.title as { text: string }).text || "chart-img";  a.click();}// 暴露出 chart 圖片導出方法,父組件可以通過實例調用defineExpose({  exportImg,});</script><style lang="scss" scoped></style>

總結

到此這篇關于echarts實現3d柱狀圖的2種方式舉例的文章就介紹到這了,更多相關echarts實現3d柱狀圖內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 97国产最新 | 秋霞在线观看视频 | 好吊妞视频这里有精品 | 一级毛片中国 | 香蕉在线播放 | 国产同性野外打野战 | aaa亚洲精品 | 亚洲精品噜噜丝袜区精品 | 五月婷婷综合在线 | 亚洲视频综合网 | 高潮毛片无遮挡 | 色丁香久久 | 99国产精品人妻噜啊噜 | 看黄色大片| 国精产品一区一区三区有限在线 | 久久亚洲热 | 99久久国语露脸精品国产 | 国产极品美女高潮抽搐免费网站 | 糟蹋小少妇17p | 亚洲成av人乱码色午夜 | 国产又粗又黄视频 | 翘臀后进少妇大白嫩屁股91 | 91麻豆精品久久久久蜜臀 | 国产高清无套内谢 | 成人国产精品免费网站 | 狠狠色丁香久久婷婷综合五月 | 久久国产精久久精产国 | 亚洲国产av一区二区三区 | 国产日产欧产精品精品首页 | 亚欧免费无码aⅴ在线观看 麻豆国产一区二区三区四区 | 亚洲成a人片 | 中文字幕久久熟女蜜桃 | 五月婷婷六月香 | 国产清纯白嫩初高生视频在线观看 | 亚洲精品高清视频 | 依人综合| 日韩第一页 | 色拍自拍亚洲综合图区 | 亚洲精品蜜夜内射 | 西西午夜视频 | 久久综合伊人中文字幕 | 日本毛茸茸的丰满熟妇 | 色吊丝永久性观看网站 | 黄色小说在线视频 | 国产学生初高中女 | 久久久久久色 | 少妇被粗大的猛烈进出视频 | 国语对白自产 | 99久久久无码国产精品性 | 欧美三日本三级少妇99 | 亚洲视频在线看 | 男人的天堂av网站 | 人妻精品久久久久中文字幕69 | 真实的国产乱ⅹxxx66小说 | 国内精品视频一区 | 黄色网页免费在线观看 | 88国产精品 | 国产一级免费 | 少妇高潮露脸国语对白 | 成人性生交大片免费卡看 | 性视频黄色 | 国产精品一区二区在线看 | 国产情侣激情 | 成人性生交7777 | 天堂av一区| 国产91在线播放九色 | 国产精品久久久久久久久久久不卡 | 美腿丝袜高跟三级视频 | 久草在线这里只有精品 | 97国产精品视频人人做人人爱 | 97国产真实伦对白精彩视频8 | 99热这里精品 | 波多野结衣家庭主妇 | 俄罗斯av在线 | 精品无码一区二区三区电影 | 日韩视频在线观看免费 | 日本久久久久久科技有限公司 | 欧洲a老妇女黄大片 | 色臀av| 国产又色又爽又黄刺激视频免费 | 深夜爽爽福利 | 色爱情人网站 | 亚洲色图150p| av黄色免费观看 | 国产一级淫片a直接免费看 国产一级淫片免费放大片 国产一级影院 | 无码人妻精品一区二区三区不卡 | 亚洲精品毛片一区二区 | 天天狠天天干 | 我色综合| 欧美日韩一区二区成人午夜电影 | 四虎精品免费永久免费视频 | 蜜桃视频成人在线观看 | 国产成人亚洲在线观看 | 毛片在线免费观看网址 | 一级看片免费视频囗交 | 国产馆视频 | 国产一卡二卡三卡四卡 | 久久人人爽人人爽人人片 | 大乳奶水成人吃91 | 内射人妻少妇无码一本一道 | 天天色综合天天色 | 日韩福利在线播放 | 亚洲日韩国产精品第一页一区 | 亚洲专区路线一路线二高质量 | 久久综合久久美利坚合众国 | 日本高清视频www夜色资源 | 国产精品人人做人人爽人人添 | 国产片自拍 | a√天堂资源在线 | 亚洲国产精品二区 | 成人免费看片'在线观看 | 亚洲精品国产拍在线 | 人妻丰满熟妇av无码区乱 | 黄色网页在线播放 | 日本成人一区二区三区 | 欧美日韩国产免费一区二区三区 | 97在线精品视频 | 永久在线视频 | 国产sm鞭打折磨调教视频 | 成人一级黄色 | 免费看黄色片子 | 久久精品av| 亚洲粉嫩| 极品少妇啪啪高清免费 | 成人动漫在线免费观看 | 高h纯肉无码视频在线观看 亚洲国产成人av毛片大全 | 成年无码av片在线 | 久久高清毛片 | 婷婷激情四射 | a国产精品 | 暴力调教一区二区三区 | 成年人黄色免费网站 | 91精品国产美女在线观看 | 手机成人在线视频 | 国产精品毛片一区视频播 | 艳妇臀荡乳欲伦交换在线播放 | 5d肉蒲团之性战奶水 | 超h高h肉h文教室学长男男视频 | 香港一级淫片免费放 | 香蕉av在线 | 欧美性猛交xxxx乱大交极品 | 国内精品视频在线 | 狠狠色婷婷狠狠狠亚洲综合 | av基地| 好吊妞视频这里只有精品 | 日产精品无人区 | 黄网站色视频免费观看 | 美女三级黄色片 | 成人午夜免费在线观看 | 91亚洲区| 九九自拍视频 | 亚洲人成影院在线无码按摩店 | 国产 精品 自在自线 | 欧美日韩经典 | 成人影视在线看 | 国产在线视频卡一卡二 | 青青青国产精品一区二区 | 国产做a爰片久久毛片a片 | 少妇高潮毛片色欲ava片 | 午夜精品一区二区三区在线视 | 99精品国产兔费观看久久99 | 亚洲成人一区二区在线观看 | 红桃av一区二区三区在线无码av | 美国成人免费视频 | 天天干天天拍 | 黄色资源网站 | 黄色片一级片 | 国产69精品久久久久久妇女迅雷 | 色婷婷一区二区三区四区 | 天天插天天 | 在线视频日本 | 日本久久精品视频 | 国内自拍视频在线播放 | 一区二区三区不卡在线观看 | 国产精品字幕 | 激情五月中文字幕 | 亚洲天堂男人天堂 | 亚洲区中文字幕 | 一级黄色片在线免费观看 | 国产无套粉嫩白浆内精在线网站 | av网址免费 | 久久er99热精品一区二区 | 欧美日韩性 | 成人av免费观看 | 久久久久久久久一区 | 在线精品亚洲一区二区佐佐木明希 | xxxtv性欧美 xxxwww国产 | 黄色av成人| 日日干,夜夜操 | 亚洲免费高清视频 | 深夜在线 | 玩成熟老熟女视频 | 久久精品九九 | 亚洲深夜视频 | 国模一区二区三区四区 | 久久久久久久久久99精品 | a√天堂资源在线 | 久久久www成人免费毛片 | 色偷偷av亚洲男人的天堂 | 国产一区二区三区乱码在线观看 | 俄罗斯乱妇 | 中文字幕免费高清在线观看 | 草草草在线 | 日韩精品无码一区二区三区 | 亚洲啊v在线 | 欧美kkkk7777免费看 | 小镇姑娘国语版在线观看免费 | 中文字幕视频免费 | 92看片淫黄大片看国产片图片 | 国产熟妇另类久久久久 | 中文字幕av手机版 | 日本熟妇人妻中出 | 亚洲九九视频 | 97国产精品亚洲精品 | 久久女同 | 中国女人av| 国精品午夜福利视频不卡 | 久久五月综合 | 日韩福利网站 | 伊人蕉久| 91涩涩涩 | 最新中文字幕免费 | 天堂一区在线观看 | 无套在线观看 | 亚洲精品久久久久久久久久久 | 国产又粗又硬又猛的毛片视频 | 在线观看av的网址 | 人妻三级日本三级日本三级极 | 日本a级黄色 | 精品无码一区二区三区水蜜桃 | 久久久久女人精品毛片九一 | 国产中文字幕久久 | 黑人巨大99vs小早川怜子 | 四虎国产精品永久免费观看视频 | 日韩福利在线 | 青青草娱乐在线 | 国产成人精品必看 | 日本寂寞少妇 | 成人18aa黄漫免费观看 | 高清无码午夜福利视频 | 欧美乱妇高清无乱码在线观看 | 国产啪精品视频网站 | 亚洲日本va中文字幕 | 日本一区精品视频 | 春色视频www网站 | 免费av网站大全 | 欧美精品密入口播放 | 精品一卡二卡三卡四卡 | 成人久久av| 日本视频h | 精品无码一区二区三区av | 亚洲国产综合无码一区 | 精品三级在线观看 | 久草免费av| 豆国产96在线 | 亚洲 | 一区二区视频网站 | 日韩人妻中文无码一区二区七区 | 日韩中文字幕在线不卡 | 夜夜噜噜噜 | 亚洲网站在线播放 | 明星大尺度激情做爰视频 | 川上奈美侵犯中文字幕在线 | 精品1卡二卡三卡四卡老狼 国内大量偷窥精品视频 | 综合人妻久久一区二区精品 | 97夜夜澡人人波多野结衣 | 日操干| 精品乱人伦一区二区三区 | 国产ts变态重口人妖hd | 成人无码网www在线观看 | 色麻豆国产原创av色哟哟 | 精品国产一区二区三区麻豆 | 欧美国产综合色视频 | 国产精品久久无码一区二区三区网 | 特黄aaaaaaa片免费视频 | 亚洲国产成人av在线观看 | 狠狠久久精品中文字幕无码 | 国产黄色一级网站 | 女人一级大片 | 狠狠色综合网站久久久久久久 | 三级三级三级a级全黄网站 三级三级三级三级 | 91传媒视频在线观看 | 爱爱爱免费视频 | 自偷自拍亚洲 | 日本啊v在线 | 欧美成a | a网站在线观看 | 日韩精品人妻系列无码专区免费 | 午夜嘿嘿嘿影院 | 亚洲国产成人女毛片在线主播 | 婷婷成人丁香五月综合激情 | 国色天香成人网 | 人成免费a级毛片 | 久久精品国产99国产精品 | 在线视频 一区二区 | 伊人99re| 欧洲中文字幕日韩精品成人 | 91五月婷蜜桃综合 | 性一交一伦一视一频 | 国产午夜亚洲精品午夜鲁丝片 | 又大又粗又爽18禁免费看 | 久久久www免费人成黑人精品 | 久久一级片| 天堂在线www天堂中文在线 | 国产麻豆天美果冻无码视频 | 女女女女bbbb日韩毛片 | 红桃视频一区二区三区免费 | 中文字幕在线日亚洲9 | 波多野结衣一区二区三区在线观看 | 天天干天天操天天摸 | 国产在线观看不卡 | 91另类| 午夜人体一级裸片免费观看 | 一道本毛片 | 免费日韩网站 | 美女一二区| 18涩涩午夜精品www | 色婷婷在线观看视频 | 北条麻妃99精品青青久久 | 亚洲免费色 | 久久久久久久久国产 | 狠狠躁天天躁无码中文字幕 | 久久精品色 | 国产在线播放91 | 噜噜色网| 成+人+黄+色有声+小说免费 | 国产成人免费ā片在线观看老同学 | 亚洲第一黄色网址 | 精品综合久久久久久98 | 色综合色综合网色综合 | 992成人做爰视频 | 91精品一久久香蕉国产线观看新通道 | 精品久久亚洲 | 亚洲爱情岛论坛永久 | 欧美成人性生活 | 亚洲第一男人天堂 | 女同av在线播放 | 922tv在线观看线路一 | 性一交一乱一乱一视频 | 四虎8848精品成人免费网站 | 7777奇米四色眼影国产馆 | 日韩精品久久久久 | 大陆极品少妇内射aaaaaa | 男人的天堂色 | 马与人黄色毛片一部免费视频 | 新片速递丨最新合集bt伙计 | 欧美性猛交 | 人妻少妇精品一区二区三区 | 粉嫩av一区二区三区四区五区 | 成人区精品一区二区婷婷 | 青草视频免费在线观看 | 欧美日韩免费在线视频 | 深夜毛片 | 91麻豆精品91aⅴ久久久久久 | 亚洲日韩色图 | 亚洲黄网av | 国产精品人妻熟女毛片av | 久久亚洲欧美国产精品 | av中文字幕免费在线观看 | 久久欧美精品久久天美腿丝袜 | 欧美午夜性生活 | 亚洲精品久久久久久久久久吃药 | 少妇学院在线观看 | 国产无毛片 | 久草香蕉视频 | 天天欧美 | 狠狠干2018 | 91日本视频| 青青久草网 | 国产成人无码一区二区在线观看 | 国产欧美精品aaaaa久久 | 成人喂奶露着大乳 | 亚洲欧洲精品在线 | 96久久欧美麻豆网站 | 91看片淫黄大片一级在线观看 | 亚洲免费视频网 | 精品国产av 无码一区二区三区 | 蜜臀久久99静品久久久久久 | 免费一二三区 | 处破女处破av | 亚洲人妖女同在线播放 | 亚洲国产精品国自产拍av | 好色先生视频污 | 五姑娘在线观看高清版 | 日产韩产麻豆h | 一区二区播放 | 久久99精品国产自在现线小黄鸭 | 日日橹狠狠爱欧美视频 | 不卡av电影在线 | 欧美一区二区在线观看视频 | 国产足控在线网站 | 色婷婷久久久久swag精品 | 国产精品xvideos88| 日日噜噜噜噜人人爽日本精品 | 亚洲成人av在线播放 | 天天干天天干天天 | 久久久久久久久久久国产 | 男人边吃奶边做好爽免费视频 | yourporn久久国产精品 | 男人的天堂av高清在线 | 日本在线看片免费人成视频1000 | 91国语| av片免费播放 | 精品国产系列 | 日本乱码一区二区三区芒果 | 亚洲国产无 | 国产日韩欧美不卡 | 欧美 日韩 国产 在线 | 精品国精品国产自在久国产87 | 久久国产精品99久久久久久进口 | 久久爱影视i | 超碰一级片 | 天天躁日日躁狠狠躁av中文 | 黄色片在哪看 | 日本亚洲一区二区 | 成年女人黄网站色视频免费97 | 白嫩漂亮的美女ktv啪啪界 | 中文字幕亚洲欧美日韩在线不卡 | 中国极品少妇xxxx | 精品无码国产av一区二区三区 | 国产精品高潮呻吟视频 | 国产天堂av| 999这里只有精品 | 国产精品一区二区福利视频 | 韩国三级做爰视频 | 亚洲国产网 | 国内精品国产三级国产在线专 | 亚洲欧洲国产视频 | 精品国产123| 国产 国语对白 露脸 | 欧洲s码亚洲m码精品一区 | 国产一级淫片a按摩推澡按摩 | 一级a性色生活片久久毛片 一级a性色生活片久久毛片明星 | 99精品国产99久久久久久白柏 | 久久不见久久见免费影院 | 美女高清视频免费视频 | 国产精华xxx| 午夜精品在线免费观看 | av观看在线免费 | 人妻丰满熟妇av无码区乱 | 国产精品丝袜黑色高跟鞋v18 | 涩涩视频网 | 欧美一区二区三区爽爽爽 | 无码中文字幕人妻在线一区二区三区 | 狠狠色噜噜狠狠狠 | 91精品入口 | 中文字幕不卡在线 | 97人人视频 | 女人张开腿涩涩网站 | 成年人av| 99国产精品国产精品九九 | 亚洲一区动漫 | 色呦呦在线观看视频 | 澳门永久av免费网站 | 农民人伦一区二区三区 | 韩国午夜理伦三级2020苹果 | 日韩视频网址 | 久久中文精品无码中文字幕下载 | 国产免费一区二区三区免费视频 | 久久久一区二区三区四区 | 精品日产卡一卡二卡麻豆 | 国91精品久久久久9999不卡 | 神马午夜伦理影院 | 久草视频免费播放 | 日本a v网站 | 久久精品 | 色综合久久天天综合网 | snh48国产大片永久 | 一级做a爱片性色毛片www | 国产精品亚洲综合 | 国内自拍亚洲 | 午夜精品久久久久久久99水蜜桃 | 久久人人妻人人爽人人爽 | 天天狠天天透 | 日韩成人高清视频在线观看 | 少妇爆乳无码专区 | 亚洲精品1| 中文字幕在线看 | 麻豆一区一区三区四区 | 懂色aⅴ精品一区二区三区蜜月 | 国产强被迫伦姧在线观看无码 | 一级黄色片免费 | 天天爽夜夜爽夜夜爽精品视频 | 欧美激情精品久久久久久蜜臀 | 神马香蕉久久 | 国产精品一区久久久 | 亚洲福利网 | 又粗又硬又大又爽免费视频播放 | 无码人妻丰满熟妇奶水区码 | 五月天婷婷免费视频 | 中文在线观看免费网站 | 中文区中文字幕免费看 | 欧美激情16p | 色哺乳xxxxhd国产 | a级老太婆毛片老太婆毛片 a级毛片,黄,免费观看 m | 日本最新偷拍小便视频 | 成人精品gif动图一区 | 亚洲同性同志一二三专区 | 中文字幕在线色 | 黄色三级毛片 | 最新精品在线 | 日韩av一区二区三区在线 | 涩涩精品| 国产成人啪精品视频免费软件 | 深爱五月网 | 欧美性猛交xxxxx水多 | 中文字日产幕乱五区 | 国产哺乳奶水91在线播放 | 香蕉影院在线 | 超清 忍不住的亲子伦中文字幕 | 成人拍拍 | 精品久久久久久中文字幕大豆网 | 新x8x8拨牐拨牐永久免费影库 | 国产免费一级特黄录像 | 主播大秀一区二区三区 | 午夜性刺激在线观看 | jzzijzzij亚洲农村妇女 | 伦伦影院午夜理论片 | 成人网站免费观看 | 一区二区视频免费看 | 女职员的丝袜 中文字幕 | 午夜性刺激在线视频免费 | 快色视频在线观看 | 国产网红女主播精品视频 | 日韩毛片在线观看 | 538国产精品一区二区 | 可以免费看的av毛片 | 色综合久久久久综合一本到桃花网 | 中文字幕高清在线观看 | 国产精品久久久久一区二区三区 | 亚洲第一大综合区 | 手机看片1024久久 | 色视频在线观看网站 | 96国产视频 | 亚洲一区二区三区麻豆 | www.亚洲资源 | 日韩视频在线免费播放 | 三级毛片儿 | 免费视频久久 | a免费网站免费观看 | 日本成人福利视频 | 黄色三级毛片视频 | 921国产乱码久久久久久 | 亚洲成av人片天堂网无码 | 国产精品毛片一区二区 | 五月天堂色 | 欧美日韩在大午夜爽爽影院 | 国产精品无码mv在线观看 | 欧洲经典二三区 | 92成人午夜福利一区二区 | 精品久久久噜噜噜久久久 | 亚洲综合天堂一区二区三区 | 天天爽天天爽天天爽 | 91亚洲国产成人精品性色 | 人妻熟妇乱又伦精品视频app | 国产97色在线 | 日韩 | 久久国产精品日本波多野结衣 | 亚洲日本韩国欧美云霸高清 | 免费动漫av| 性欧美极品xxxx欧美一区二区 | 天天干一干 | 一级大片黄色 | 人人色在线视频播放 | 国产亚洲精品久久久久秋霞 | 国产激情毛片 | 日日夜夜爽爽 | 中文字幕一区2区3区 | 亚洲国产成人一区二区在线 | 综合久久五月天 | 日韩中文字幕免费视频 | brazzers欧美一区二区 | 国产一级手机毛片 | 人妻精品久久久久中文字幕69 | 一 级做人爱全视频在线看 亚洲成a∨人片在线观看不卡 | 秋霞影院午夜伦 | 交100部在线观看 | 一级肉体全黄裸片高潮不断 | 无套内谢少妇毛片 | 手机在线中文字幕 | 国产欠欠欠18一区二区 | 欧美日韩国产成人在线 | 天天曰| 国产激情久久久久影院 | 操操操操操操操操操 | 国精产品999一区二区三区有 | 国产韩国精品一区二区三区久久 | 亚洲成人生活片 | 亚洲久久色 | 少妇又紧又色又爽又刺激视频网站 | 久久精品国产亚洲 | 亚洲午夜久久久精品一区二区三区 | 欧美性生交xxxxx久久久缅北 | 亚洲欧美丝袜精品久久 | 日韩欧美视频免费在线观看 | 欧美三日本三级少妇99 | 国产永久在线 | 无码免费一区二区三区 | 欧美少妇网 | 少妇做爰免费视频网站图片 | 日韩有码在线播放 | 久久久久久久艹 | 欧美国产中文 | 女警高潮潮一夜一区二区三区毛片 | 综合色婷婷 | 玖草在线 | 精品无码国产自产拍在线观看 | 久久国产美女视频 | 国产91精品欧美 | 精品视频久久久久 | 久久尤物| 一级一级黄色片 | 久久婷婷亚洲 | 免费观看成人摸66m66 | 国产精品午夜久久 | 亚洲国产精品激情在线观看 | 一级片欧美 |