成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > canvas繪制樹(shù)形結(jié)構(gòu)可視圖形的實(shí)現(xiàn)

canvas繪制樹(shù)形結(jié)構(gòu)可視圖形的實(shí)現(xiàn)

熱門(mén)標(biāo)簽:如何查看地圖標(biāo)注 惡搞電話(huà)機(jī)器人 欣鼎電銷(xiāo)機(jī)器人 效果 電話(huà)機(jī)器人技術(shù) ok電銷(xiāo)機(jī)器人 地圖標(biāo)注軟件打印出來(lái) 黃石ai電銷(xiāo)機(jī)器人呼叫中心 高德地圖標(biāo)注商戶(hù)怎么標(biāo) 智能電銷(xiāo)機(jī)器人被禁用了么

如下圖,最近項(xiàng)目中需要這么個(gè)樹(shù)形結(jié)構(gòu)可視化數(shù)據(jù)圖形,找了好多可視化插件,沒(méi)有找到可用的,所以就自己畫(huà)了一個(gè),代碼如下。

  • 樹(shù)形分支是后端接口返回?cái)?shù)據(jù)渲染,可展示多條;
  • 代碼可拓展,可封裝;
  • 點(diǎn)擊節(jié)點(diǎn)可查看備注;

<canvas id="canvas" width="750" height="800"></canvas>
const canvas_options={
    canvasWidth: 750,
    canvasHeight: 800,
    chartZone: [70,70,750,570], //坐標(biāo)繪制區(qū)域
    yAxisLabel: ['0%','10%','20%','30%','40%','50%','60%','70%','80%','90%','100%'],//y軸坐標(biāo)text
    yAxisLabelWidth: 70,//y軸最大寬度
    yAxisLabelMax: 100,//y軸最大值
    middleLine: 410, //中間線(xiàn)
    pillarWidth: 10,//柱子寬度
    distanceBetween: 50,//柱狀圖繪制區(qū)域距離兩邊間隙
    pillar: [120,70,700,750],//柱狀圖繪制區(qū)域
    mainTrunkHeight: 90,//底部開(kāi)始主干高度
    dialogWidth: 300,//彈窗寬度
    dialogLineHeight: 30,//彈窗高度
    dialogDrawLineMax: 4,
}
const nodeClick = [];
var chooseNode = null;
const datalist={
    showDataInfo: {
        city:[
            { 
                name: '項(xiàng)目1', 
                status: 1, //狀態(tài):0已完成 1進(jìn)行中
                node: [
                    { value: 10, date: '2020-03-12 15:50:02', content: '用于組織信息和操作,通常也作為詳細(xì)信息的入口。' },
                    { value: 20, date: '2020-03-12 15:50:02', content: '用于組織信息和操作,通常也作為詳細(xì)信息的入口。' },
                ] 
            },
            { 
                name: '項(xiàng)目2', 
                status: 0, //狀態(tài):0已完成 1進(jìn)行中
                node: [
                    { value: 10, date: '2020-03-12 15:50:02', content: '用于組織信息和操作,通常也作為詳細(xì)信息的入口。' },
                    { value: 50, date: '2020-03-12 15:50:02', content: '用于組織信息和操作,通常也作為詳細(xì)信息的入口。' },
                    { value: 100, date: '2020-03-12 15:50:02', content: '用于組織信息和操作,通常也作為詳細(xì)信息的入口。' },
                ] 
            },
            { 
                name: '項(xiàng)目3', 
                status: 1, //狀態(tài):0已完成 1進(jìn)行中
                node: [
                    { value: 20, date: '2020-03-12 15:50:02', content: '用于組織信息和操作,通常也作為詳細(xì)信息的入口。' },
                    { value: 30, date: '2020-03-12 15:50:02', content: '用于組織信息和操作,通常也作為詳細(xì)信息的入口。' },
                    { value: 40, date: '2020-03-12 15:50:02', content: '用于組織信息和操作,通常也作為詳細(xì)信息的入口。' },
                ] 
            },
            { 
                name: '項(xiàng)目4', 
                status: 1, //狀態(tài):0已完成 1進(jìn)行中
                node: [
                    { value: 20, date: '2020-03-12 15:50:02', content: '用于組織信息和操作,通常也作為詳細(xì)信息的入口。' },
                    { value: 30, date: '2020-03-12 15:50:02', content: '用于組織信息和操作,通常也作為詳細(xì)信息的入口。' },
                ] 
            },
        ]
    }
}

const canvas = document.getElementById("canvas");
const ctx = canvas.getContext('2d');
ctx.save();

drawYLabel(canvas_options,ctx); //繪制y軸坐標(biāo)
drawStartButton(ctx,canvas_options);
drawData(ctx,datalist.showDataInfo,canvas_options);

canvas.addEventListener("click",event=>{
    //清除之前的彈窗
    if(chooseNode!=null){
        ctx.clearRect(0, 0, canvas.width, canvas.height);
        ctx.save();
         drawYLabel(canvas_options,ctx); //繪制y軸坐標(biāo)
         drawStartButton(ctx,canvas_options);
         drawData(ctx,datalist.showDataInfo,canvas_options);
        chooseNode = null
    }
    //判斷點(diǎn)擊節(jié)點(diǎn)
    let rect = canvas.getBoundingClientRect();
    let zoom = rect.width/canvas_options.canvasWidth;
    let x = (event.clientX/zoom - rect.left/zoom).toFixed(2);
    let y = (event.clientY/zoom - rect.top/zoom).toFixed(2);

    for(var t=0;t<nodeClick.length;t++){
        ctx.beginPath();
        ctx.arc(nodeClick[t].x,nodeClick[t].y,15,0,Math.PI*2,true);
        if(ctx.isPointInPath(x, y)){
            textPrewrap(ctx,`備注描述:${nodeClick[t].date}`,nodeClick[t].x+20,nodeClick[t].y+20,canvas_options.dialogWidth-40);
            ctx.restore();
            chooseNode=t
            break;
        }else{
            chooseNode=null
        }
    }
});

//content:需要繪制的文本內(nèi)容; drawX:繪制文本的x坐標(biāo); drawY:繪制文本的y坐標(biāo);
//lineMaxWidth:每行文本的最大寬度
function textPrewrap(ctx,content,drawX, drawY, lineMaxWidth){
    var drawTxt=''; //當(dāng)前繪制的內(nèi)容
    var drawLine  = 1;//第幾行開(kāi)始繪制
    var drawIndex=0;//當(dāng)前繪制內(nèi)容的索引
    //判斷內(nèi)容是夠可以一行繪制完畢
    if(ctx.measureText(content).width<=lineMaxWidth){
        drawDialog(ctx,canvas_options.dialogWidth,canvas_options.dialogLineHeight,drawX,drawY);
        ctx.fillText(content.substring(drawIndex,i),drawX.drawY);
    }else{
        for(var i=0;i<content.length;i++){
            drawTxt += content[i];
            if(ctx.measureText(drawTxt).width>=lineMaxWidth){
                drawDialog(ctx,canvas_options.dialogWidth,canvas_options.dialogLineHeight,drawX,drawY);
                ctx.fillText(content.substring(drawIndex,i+1),drawX,drawY);
                drawIndex = i+1;
                drawLine+=1;
                //drawY+=lineHeight;
                drawTxt='';
            }else{
                //內(nèi)容繪制完畢,但是剩下的內(nèi)容寬度不到lineMaxWidth
                if(i===content.length-1){
                    drawDialog(ctx,canvas_options.dialogWidth,canvas_options.dialogLineHeight,drawX,drawY);
                    ctx.fillText(content.substring(drawIndex,i+1),drawX,drawY)
                }
            }
        }
    }
}

function drawDialog(ctx,width,height,x,y){
    ctx.beginPath();
    ctx.fillStyle="rgba(0,0,0,0.8)";
    ctx.fillRect(x,y,width,height);
    ctx.font="22px ''";
    ctx.fillStyle="#fff";
    ctx.textAlign = 'left';
    ctx.textBaseline="top";
}

//繪制y軸坐標(biāo)
function drawYLabel(options,ctx){
    let labels = options.yAxisLabel;
    let yLength = (options.chartZone[3]-options.chartZone[1])*0.98;
    let gap = yLength/(labels.length-1);

    labels.forEach((item,index)=>{
        //繪制圓角背景
        //this.radiusButton(ctx,0,options.chartZone[3]-index*gap-13,50,24,8,"#313947");

        //繪制坐標(biāo)文字
        ctx.beginPath();
        ctx.fillStyle="#878787";
        ctx.font="18px ''";
        ctx.textAlign="center";
        ctx.fillText(item,25,options.chartZone[3]-index*gap+5);
        //繪制輔助線(xiàn)
        ctx.beginPath();
        ctx.strokeStyle="#eaeaea";
        ctx.strokeWidth=2;
        ctx.moveTo(options.chartZone[0],options.chartZone[3]-index*gap);
        ctx.lineTo(options.chartZone[2],options.chartZone[3]-index*gap);
        ctx.stroke();
    })

}
//繪制開(kāi)始按鈕
function drawStartButton(ctx,options){
    //繪制按鈕圖形
    this.radiusButton(ctx,options.middleLine-(160/2),options.canvasHeight-50,160,50,8,'#F4C63D');
    ctx.fillStyle="#fff";
    ctx.font="24px ''";
    ctx.textAlign="center";
    ctx.fillText('開(kāi)始',options.middleLine,options.canvasHeight-15);

    //繪制狀態(tài)
    ctx.beginPath();
    ctx.fillStyle="#333";
    ctx.font="24px ''";
    ctx.textAlign = "left";
    ctx.fillText("已完成",0,options.canvasHeight-100);
    ctx.fillText("進(jìn)行中",0,options.canvasHeight-50);
    //繪制紅色按鈕
    ctx.beginPath();
    ctx.fillStyle="#d35453";
    ctx.arc(options.chartZone[0]+30,options.canvasHeight-100-7,8,0,2 * Math.PI,true);
    ctx.fill();
    ctx.beginPath();
    ctx.strokeStyle="#d35453";
    ctx.arc(options.chartZone[0]+30,options.canvasHeight-100-7,14,0,2 * Math.PI,true);
    ctx.stroke();
    //繪制藍(lán)色按鈕
    ctx.beginPath();
    ctx.fillStyle="#24b99a";
    ctx.arc(options.chartZone[0]+30,options.canvasHeight-50-8,8,0,2 * Math.PI,true);
    ctx.fill();
    ctx.beginPath();
    ctx.strokeStyle="#24b99a";
    ctx.arc(options.chartZone[0]+30,options.canvasHeight-50-8,14,0,2 * Math.PI,true);
    ctx.stroke();

}
//封裝繪制圓角矩形函數(shù)
function radiusButton(ctx,x,y,width,height,radius,color_back){
    ctx.beginPath();
    ctx.fillStyle= color_back
    ctx.moveTo(x,y+radius);
    ctx.lineTo(x,y+height-radius);
    ctx.quadraticCurveTo(x,y+height,x+radius,y+height);
    ctx.lineTo(x+width-radius,y+height);
    ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius);
    ctx.lineTo(x+width,y+radius);
    ctx.quadraticCurveTo(x+width,y,x+width-radius,y);
    ctx.lineTo(x+radius,y);
    ctx.quadraticCurveTo(x,y,x,y+radius);
    ctx.fill()
}
//繪制數(shù)據(jù)
function drawData(ctx,data,options){

    //const paths=[];
    let number = data.city.length;
    //繪制矩形
    data.city.forEach((item,index)=>{
        let indexVal = number==1?1:index;
        let numberVal = number==1?2:number-1
        let x0 = options.chartZone[0]+options.distanceBetween+(options.chartZone[2]-options.chartZone[0]-options.distanceBetween*2)/numberVal*indexVal;
        let value = item.node[item.node.length-1].value;
        let height = (value/options.yAxisLabelMax*(options.chartZone[3]-options.chartZone[0])*0.98).toFixed(2);
        let y0=options.chartZone[3] - height;

        //柱狀圖底部
        ctx.beginPath();
        ctx.fillStyle= '#eee';
        ctx.fillRect(x0-5,80,options.pillarWidth,options.chartZone[3]-80);

        //貝塞爾曲線(xiàn)
        ctx.beginPath();

        ctx.strokeStyle = item.status==0?"#d35453":'#24b99a';
        ctx.lineWidth=options.pillarWidth;
        ctx.moveTo(options.middleLine,options.pillar[3]); //貝塞爾曲線(xiàn)起始點(diǎn)
        ctx.lineTo(options.middleLine,options.canvasHeight-50-options.mainTrunkHeight); //貝塞爾曲線(xiàn)中間豎線(xiàn)
        ctx.quadraticCurveTo(x0,options.canvasHeight-50-options.mainTrunkHeight,x0,options.chartZone[3]);
        //繪制柱狀圖進(jìn)度
        ctx.lineTo(x0,y0);
        ctx.stroke();

        //繪制文字
        ctx.font="28px ''";
        ctx.textAlign='center';
        ctx.fillStyle="#333";
        ctx.fillText(item.name,x0,options.chartZone[1]-20);

        //繪制節(jié)點(diǎn)
        item.node.forEach((node_item,node_index)=>{
            let y1= options.chartZone[3] - (node_item.value/options.yAxisLabelMax*(options.chartZone[3]-options.chartZone[0])*0.98).toFixed(2);
            ctx.beginPath();
            ctx.arc(x0,y1,15,0,Math.PI*2,true);
            ctx.fillStyle="rgba(108,212,148,1)";
            ctx.fill();
            ctx.beginPath();
            ctx.arc(x0,y1,9,0,Math.PI*2,true);
            ctx.fillStyle="rgba(255,255,255,0.8)";
            ctx.fill();
            const pointInfo={
                x:x0,
                y:y1,
                date: node_item.data,
                content: node_item.content,
                value: node_item.value
            };
            nodeClick.push(pointInfo);
        })
    })
}

到此這篇關(guān)于canvas繪制樹(shù)形結(jié)構(gòu)可視圖形的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)canvas樹(shù)形結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標(biāo)簽:赤峰 綏化 萍鄉(xiāng) 阿壩 金昌 中山 盤(pán)錦 聊城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《canvas繪制樹(shù)形結(jié)構(gòu)可視圖形的實(shí)現(xiàn)》,本文關(guān)鍵詞  canvas,繪制,樹(shù)形,結(jié)構(gòu),可,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《canvas繪制樹(shù)形結(jié)構(gòu)可視圖形的實(shí)現(xiàn)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于canvas繪制樹(shù)形結(jié)構(gòu)可視圖形的實(shí)現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精品18久久久久久久久| 香蕉影视欧美成人| 日韩不卡视频在线| 成人午夜网址| 亚洲精品在线91| 久久综合久色欧美综合狠狠| 四虎影视永久免费在线观看一区二区三区| 亚洲国产精品二区| 骚虎黄色影院| 伦理中文字幕亚洲| 九一国产在线观看| 久久国产小视频| 大片在线观看网站免费收看| 免费人成网ww777kkk手机| 日本精品裸体写真集在线观看| www.天天操| 国产亚洲精品aa| 亚洲人成高清| 欧美精品一区二区视频| 欧美日韩国产免费一区二区| 视频一区欧美精品| 9191在线观看| 日韩精品中文字幕在线不卡尤物| 国产www精品| 丝袜美腿精品国产二区| 日韩不卡一区| 69av在线播放| 蜜桃视频欧美| 亚洲国产成人精品视频| 国产精品123区| 亚洲第一欧美| 日本三级电影网站| 国产精品2区| 精品无码m3u8在线观看| 亚洲第一黄色网| 国产精伦一区二区三区| 日本高清不卡一区二区三| 久久久久看片| 免费看黄在线看| 精品一区二区三区日本| 国产女主播视频一区二区| 国精产品一区一区三区有限在线| 俺去啦在线观看| 日韩欧美在线一区二区| 黄动漫在线免费观看| 亚洲国产日韩欧美| 东京干手机福利视频| 国产精品300页| 中文字幕在线观看的网站| 娇小发育未年成性色xxx8| 国产精品国产| 欧美18av| 精品在线观看入口| 日韩视频免费看| 石原莉奈在线亚洲二区| 日本久久黄色| 人体内射精一区二区三区| 国产男女猛烈无遮挡| 国产av无码专区亚洲av毛网站| 在线日本视频| 在线播放国产精品| 国产九色精品成人porny| 拍真实国产伦偷精品| 欧美日韩精品一二三区| 韩日中文字幕第一页| 啦啦啦在线视频免费观看高清中文| 久久网免费视频| 污视频免费在线看| 亚洲影院色无极综合| 色噜噜狠狠成人网p站| 亚洲电影一级片| 3d动漫精品啪啪1区2区免费| av男人天堂网| 91免费视频污| 天天骑天天干| 亚洲av无码一区二区三区性色| 亚洲伊人网在线观看| 麻豆蜜桃91| 欧美三级午夜理伦三级在线观看| 国产99久久九九精品无码免费| 亚洲啊v在线免费视频| 17婷婷久久www| 亚洲欧美丝袜| eeuss中文| 日韩精品成人av| 国产精品a久久久久久| 欧美大片免费久久精品三p| 人与牲动交xxxbbb| 国产91在线精品| 亚洲一区二区3| 成人国产电影在线观看| 国产精品视频网站| 黑人狂躁日本妞一区二区三区| 色综合天天综合网天天狠天天| 欧美一级日韩不卡播放免费| 在线码字幕一区| 成人黄色在线观看视频| 亚洲av午夜精品一区二区三区| 亚洲精品成人久久久| 欧美成人3dxxxx| 精品亚洲porn| 91美女精品网站| 亚洲视频在线看| 日本在线视频观看| 国产精品成人免费在线| 亚洲男人第一网站| 成人久久久久久| 日本黄色录像视频| 97影院秋霞午夜在线观看| 欧美日韩精品一区二区三区视频| 国产精品亚洲欧美| 国产成人精品亚洲777人妖| 秋霞一区二区三区| 希岛爱理av一区二区三区| 97成人在线观看| 国产精品视频一二区| 亚洲私拍自拍| 国产免费人做人爱午夜视频| 国产日本在线| 内射无码专区久久亚洲| 欧美成人小视频| 日本少妇毛茸茸| 亚洲香蕉伊综合在人在线视看| 欧美白人做受xxxx视频| 欧美肥婆姓交大片| 69久久夜色精品国产7777| 韩国中文字幕2020精品| 欧美精品高清视频| 亚洲免费福利一区| eeuss鲁片一区二区三区| 国产一区二区免费电影| 伊人网在线视频观看| 成人在线免费播放视频| 中文字幕第315页| 色播久久人人爽人人爽人人片视av| 日韩不卡视频一区二区| 天天精品视频| 日韩一区二区视频在线观看| 97人妻精品一区二区三区动漫| 欧美激情欧美激情在线五月| 亚洲欧洲精品一区二区三区不卡| 久草在线资源网站| 国产一区二区三区黄| 美国一级片在线观看| 少妇性l交大片| 久久久久久久久久99| 91沈先生播放一区二区| 色拍拍在线精品视频8848| 国产在线精品二区| 三级全黄做爰视频| 91在线云播放| 91av一区二区三区| 91破解版在线看| 手机看片久久| 中文字幕免费一区| 一区二区日韩精品| 日本不卡视频在线播放| 欧美爱爱视频免费看| 菠萝蜜影院一区二区免费| 一区二区三区在线免费看| 91国语精品自产拍在线观看性色| 欧美性高潮在线| 欧美aaa免费| 在线观看免费黄色网址| 亚洲成人免费在线视频| 欧洲精品一区二区三区| 国产精品福利影院| 精品无人区麻豆乱码久久久| 国产成人小视频| 91视频免费看片| 欧美成人高清视频在线观看| 免费毛片b在线观看| 日韩中文视频免费在线观看| 在线中文字日产幕| 日韩黄色视屏| 夜夜嗨一区二区| 日韩一区二区三区在线视频| 酒色婷婷桃色成人免费av网| 91精品在线免费视频| 国内伊人久久久久久网站视频| 日韩国产精品一区二区三区| 精品国产伦一区二区三区观看说明| 亚洲成人精品| h视频在线观看免费网站| 在线观看av的网址| 欧美精品一区二区三区在线播放| 精品少妇在线视频| 青椒成人免费视频| 天天靠夜夜靠| 97人妻天天摸天天爽天天| 91成人抖音| 欧洲杯半决赛直播| 粉嫩av性色av蜜臀av网站| 色老汉av一区二区三区| 手机在线观看免费av| 欧美日韩一级黄| 国产精品视频一区二区在线观看| 九九热久久免费视频| 四色最新网址| 欧美成人三级伦在线观看| 岛国精品在线播放| 国产精品久久久久久久9999| 在线精品观看| 蜜臀av免费在线观看| 自拍视频在线播放| vam成人资源在线观看| 国产一区视频网站| 国产精品www网站| 国产一区二区黑人欧美xxxx| 国产精品免费久久久久影院| 国产精品国产三级国产试看| 视频免费1区二区三区| 中文字幕亚洲欧美日韩在线不卡| 日本一区二区三区中文字幕| 国产91久久久久| 欧美黑人一区二区三区| 国产一区啦啦啦在线观看| 超碰人人干人人| 日韩美女国产精品| 国产成人精品亚洲午夜麻豆| 亚洲成在人线av| 性网爆门事件集合av| 久久久久国产精品无码免费看| 天天爽夜夜爽夜夜爽精品视频| 国产精品久久久久aaaa樱花| 秋霞av一区二区三区| 日韩国产欧美精品| 在线观看视频黄色| 欧美大肚乱孕交hd孕妇| 精品精品国产三级a∨在线| 日本一区二区高清| 55夜色66夜色国产精品视频| 中文在线观看免费| 四虎影视18库在线影院| 7777精品伊人久久久大香线蕉的| 国产男女猛烈无遮挡a片漫画| 超碰在线国产| 国产成人小视频| 国产一区二区小视频| 扒开jk护士狂揉免费| 亚洲视频在线观看三级| 欧美精品久久99久久在免费线| 国产对白videos麻豆高潮| 国产高清一级毛片在线不卡| h短视频大全在线观看| 男人和女人做事情在线视频网站免费观看| 能在线观看的av网站| 粗大黑人巨茎大战欧美成人| 国产精品入口免费软件| 日本激情视频一区二区三区| 欧美三级特黄| 欧美久久久一区| 国产日韩欧美精品在线观看| 欧美粗暴性video| av日韩精品| 国产电影一区二区三区| 一区二区三区久久网| 91精品国产综合久久小美女| yy111111少妇影院日韩夜片| 亚洲性线免费观看视频成熟| 欧美洲成人男女午夜视频| 日韩av不卡一区二区| 亚洲一区二区在线播放| 希岛爱理av一区二区三区| 久久国产波多野结衣| 天天爽夜夜爽夜夜爽精品视频| 91久久久精品国产| 日韩不卡一二区| 超碰97国产精品人人cao| 色总=综合色| 99精产国品一二三产品香蕉| 国产精品视频看看| xxav视频| 丁香色欲久久久久久综合网| 成人免费在线视频网址| 欧美国产欧美综合| 337p粉嫩大胆噜噜噜鲁| 国产91精品久久久久久久网曝门| 久久伊伊香蕉| 欧美日韩午夜精品| 成人国产精品一级毛片视频| 懂色av成人一区二区三区| 色域天天综合网| 少妇精品一区二区三区| 成人欧美精品久久久久影院| 美女精品一区最新中文字幕一区二区三区| 伊人成综合网yiren22| wwwxxx国产| 亚洲欧美一区二区激情| 久久国产精品色| 在线播放国产一区二区三区| 国产精品久久久久免费| 精品一二线国产| 狠狠色综合网站久久久久久久| 成人av综合在线| 三级网站视频在在线播放| 日韩激情久久| 欧美日韩在线播放三区四区| 婷婷av一区二区三区| 激情婷婷久久| 国产精品一区二区av| heyzo在线欧美播放| 中国女人内谢69xxxx视频| 国产农村妇女精品一区二区| 久久99精品久久久久久久久久| 性猛交富婆╳xxx乱大交天津| 91av国产在线| 黑人巨茎大战欧美白妇| 亚洲综合视频在线播放| 男人的天堂在线播放| 亚洲3atv精品一区二区三区| 国产精品96久久久久久又黄又硬| 国产精品免费久久久久| 第四色日韩影片| 色香阁99久久精品久久久| 免费欧美日韩国产三级电影| 成人私拍视频| 久久免费视频观看| 91国模大尺度私拍在线视频| 国模私拍一区二区| 美女精品导航| 九九久久99| 91国拍精品国产粉嫩亚洲一区| 国产呦精品一区二区三区网站| 国产三级免费观看| 欧美理论电影在线播放| 久久夜夜久久| 亚洲无玛一区|