最完整的Vue教程-从零开始编写可视化大屏

36 篇文章 36 订阅
订阅专栏

摘 要

(OF作品展示)

OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比较复杂(需要执行各种各样的命令)还不完整的教程,今天OF将完整地讲解如何用vue做一张好看的可视化大屏。只要大家按照步骤操作下来,你也能实现自己的可视化项目。

主要内容:Vue编写可视化大屏

适用人群:Python初学者,前端/Vue初学者

准备软件:pycharm

一、安装准备

在编写大屏前,我们需要先安装2个内容:vue插件和node.js。

在pycharm内安装vue插件;(用pycharm安装vue非常简单,不需要一堆命令)

1.1 打开pycharm,点击文件-设置-插件,在搜索栏中搜索“vue”,点击install。等待安装完成就可以了。

安装node.js是为了使用npm指令的,下载地址:Node.js

1.2 下载后按默认安装即可(安装路径可自行修改)。

二、初识VUE

准备工作完成后,我们可以开始创建VUE项目。

2.1 点击文件-新建项目,在弹出的窗口中选择vue.js,然后在Location栏修改路径地址,点击右下角“creat”

2.2 我们可以看到刚创建好的vue项目,目录是空白的,在pycharm的Terminal窗口下执行npm init,才能生成package.json文件,这步很重要。(注:若执行时报权限错误,我们就先删除npmrc文件(C:\Users\{账户}\下的.npmrc文件))

2.3 初始化一个完整版的项目:在pycharm的Terminal窗口下执行vue init webpack myscreen命令,然后可以参考如下的一步步选择和输入,等待自动安装。

2.4 安装成功:出现以下内容,就是安装成功了。

我们来说明下这个目录各文件夹/文件的作用,我们主要用的是src文件夹下的内容。

三、Typescript

在vue中编写代码的方式和HTML比较类似,总体上就是3部分:

1)template:与HTML中的body一样编写需要展现的内容;

2)script:HTML常用javascript,;

3)style:与HTML中的style基本是一样的。

编写图表前,为了便于初学者理解,我们用Typescript对script部分的属性进行简要说明。

TypeScript 程序由以下几个部分组成:模块(两个模块之间的关系是通过使用 import和export 建立的)、函数、变量、语句和表达式、注释。

<script>
var [变量名] = 值    //变量
export default{    //模块  
    name:'Percentage',
    props:{},      //props是子组件访问父组件数据的唯一接口
    data(){    
      return {}
    },             //存储数据的函数
    mounted(){},   //钩子函数,html加载完成后执行,执行顺序:子组件-父组件
    computed:{},   //计算属性,也就是依赖其它的属性计算所得出最后的值
    watch:{},      //监听属性,监听一个值的变化,然后执行相对应的函数
    methods:{},    //事件方法执行
}
</script>

注:有引入sass样式的,需要在terminal中执行以下命令(安装低一些的版本),否则运行不会成功。

npm install sass-loader@7.3.1 --save-dev
npm install node-sass@4.14.1 --save-dev

四、编写常见图表

通过以上3部分的准备工作,我们可以正式进入图表内容的编写,Vue强大的地方莫过于component组件应用的便利性。

4.1 OF以圆环图为例,图表要用的地方比较多,所以先新建了一个charts的文件夹,来存放各种图表的vue文件,然后在charts文件夹中新建一个Vue Component文件,如下图:

4.2 编写圆环图的初始化代码,此次我们做3张圆环图,那么我们的这个Percentage.vue就是父组件。

<template>
    <div class="percentage"> </div>
</template>
<script>
export default {
    name:'Percentage',
    props:{
        containerId:String,
        option:{}
    },
    data(){
        return {
            option1:{
                color:'#516c72',
                series: [{
                    type: 'gauge',
                    startAngle: 90,
                    endAngle: -270,
                    pointer: {
                        show: false
                    },
                    progress: {
                        show: true,
                        overlap: false,
                        roundCap: true,
                        clip: false,
                    },
                    axisLine: {
                        lineStyle: {
                           color: [[1, '#464646']],
                            width: 10,
                        }
                    },
                    splitLine: {
                        show: false,
                        distance: 0,
                        length: 10
                    },
                    axisTick: {
                        show: false
                    },
                    axisLabel: {
                        show: false,
                        distance: 50,
                        backgroundColor:'red'
                    },
                    data: [{
                        value: 20,
                        detail: {
                            offsetCenter: ['0%', '0%']
                        }
                    },
                    ],
                    title: {
                        fontSize: 14
                    },
                    detail: {
                        width: 50,
                        height: 14,
                        fontSize: 14,
                        color: 'auto',
                        formatter: '{value}%'
                    }
                }]
            },
        }
    },
    methods:{
        initChart(newOption){
            if(newOption.series){
                this.option1.series[0].data[0].value = newOption.series[0].data[0].value ;
                this.option1.series[0].detail.formatter = newOption.series[0].detail.formatter;
                if(newOption.color){
                    this.option1.color = newOption.color
                }
            }
            let myChart = this.$echarts.init(
                document.getElementById(this.containerId)
            );
            //  console.log('this.option1',this.option1)
            myChart.setOption(this.option1);
        },
    }
}
</script>
<style scoped>
    .percentage{
        width: 100%;
        height: 100%;
    }
</style>

4.3 给3张圆环图赋值,我们可以直接在Percentage.vue中写,但是为了便于重复使用,我们再增加一个子组件:新建一个views文件夹,再在views文件夹下新建一个Man.vue的文件。(import Percentage from '../charts/Percentage')

<template>
  <div class="home">
   <div class="content_card">
       <div class="left_card">
            <div class="left_middle_card">
                <div class="left_middle_chart_card">
                        <div class="left_middle_left_chart_card">
                            <div class="safe_title_spec">人员信息总览</div>
                            <div class="left_middle_left_chart_card_content">
                                <div class="tip">
                                    <h3 class="titletip">公司人数</h3>
                                    <div id="manchart" class="chart_card">
                                        <percentage ref="manpercentage" :containerId="'manchart'" :option="manoption"/>
                                    </div>
                                </div>
                                <div class="tip">
                                    <h3 class="titletip">出勤率</h3>
                                    <div id="man2chart" class="chart_card">
                                        <percentage ref="man2percentage" :containerId="'man2chart'" :option="man2option"/>
                                    </div>
                                </div>
                                <div class="tip">
                                    <h3 class="titletip">出差人数</h3>
                                    <div id="man3chart" class="chart_card">
                                        <percentage ref="man3percentage" :containerId="'man3chart'" :option="man3option"/>
                                    </div>
                                </div>
                            </div>
                        </div>
                </div>
            </div>
       </div>
   </div>
  </div>
</template>

<script>
// @ is an alias to /src
import Percentage from '../charts/Percentage'

export default {
  name: 'staff',
  components: {
    Percentage,
  },
  data(){
    return {
        manoption:{
            color:'#45e2f5',
            series: [{
                data: [
                    { name: 'itemA', value: 94}
                ],
                detail: {
                    formatter: '35人'
                }
            }]
        },
        man2option:{
            color:'#b7e8e4',
            series: [{
                data: [
                    { name: 'itemA', value: 50}
                ],
                detail: {
                    formatter: '{value}%'
                }
            }]
        },
        man3option:{
            color:'#7a9ae7',
            series: [{
                data: [
                    { name: 'itemA', value: 17 }
                ],
                detail: {
                    formatter: '17人'
                }
            }]
        },

    }
  },
  mounted(){
      this.chartInit()

  },
  methods:{
    chartInit(){
        this.$refs.manpercentage.initChart(this.manoption)
        this.$refs.man2percentage.initChart(this.man2option)
        this.$refs.man3percentage.initChart(this.man3option)

    },

  }
}
</script>
<style lang="scss" scoped>
.home{
    height: 100%;
    background-color: #111;
    padding: 1%;
    .content_card{
        width: 100%;
        height: 95%;
        display: flex;
        justify-content: flex-start;
        // margin-top: 2%;
        .safe_title_spec{
            height: 50%;
            background: url(data:image/png) no-repeat;
            background-size: contain;
            color: #fff;
            font-size: 1.5rem;
            display: flex;
            align-items: center;
            text-indent: 2rem;
        }

        div{
            width: 100%;
            //height: 100%;
            // border: 1px solid white;
        }
        >div.left_card{
            width: 60%;
            height: 100%;

            .left_middle_card{
                width: 100%;
                height:90%;

                .left_middle_chart_card{
                    height: 80%;
                    display: flex;

                    .tip{

                        .titletip{
                            font-size: 1.5rem;
                            color: #fff;
                        }
                    }

                    .left_middle_left_chart_card{
                        height: 100%;
                        width: 50%;
                        margin-top: 1%;

                        .left_middle_left_chart_card_content{
                            height: 100%;
                            display: flex;
                            .chart_card{
                                height: 150px;
                                width: 180px;
                            }
                        }
                    }

                }

            }
        }

    }
}
</style>

4.4 配置路由,点击router文件夹-进入index.js,将代码修改成如下:

4.5 运行vue,有两种方式:

1)点击pycharm下方的terminal,执行运行命令npm run dev

2)在右上角设置npm运行配置,好处是设置后,以后我们就可以直接点击运行,如下图

运行结果:

点击链接,会自动打开浏览器

我们可以看到有个V的标志,我们可以去App.vue文件中,删掉以下的图片内容就可以了

删掉这段代码后,不需要重新点击运行,刚打开的浏览器会自动更新结果

这个呢要感谢在Man.vue中的以下这段代码,:

mounted(){ this.chartInit() }, //mounted(){}钩子函数,html加载完成后执行,执行顺序:子组件-父组件

五、总结

同学们有没有看晕啊,来回的各文件里一顿操作,其实挺简单的,OF总结下需要编写代码的文件结构。

快新的一年了,提前祝大家新年快乐,总结下自己,看今年有没有学到新技能,完成自己的目标!

利用Vue+Echarts完成可视化任务
howard2005的专栏
11-15 1976
安装node.js、创建vue项目、利用echarts完成可视化任务
vue可视化大屏教程
花生日记
06-01 4458
Vue的配置就比较简单了,只需要将配置文件复制到自己的项目中即可,一般配置文件都在项目的根目录下,也可以在 vue的根目录下创建一个虚拟的文件夹。在登录页面上,我们可以设置不同的角色,角色不同权限也就不一样。在上面的代码中,我们将组件定义为: demo.v-patch,我们还可以添加一个< script>标签,用于设置组件的格式,这是在 js中用到的,v-patch. bash可以在需要的时候将组件拖到页面上。data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
2024年3分钟搞懂Vue整合Echarts实现可视化界面(2),成功入职阿里月薪45K
2401_84412953的博客
05-04 361
echarts实现简单,各类图形都有;相应的模板,还有丰富的API及文档说明,非常详细。,在官网中为我们封装了js,只要会引用就会得到完美的展示效果;,并且我们提供了非常炫酷的图形界面。四、Vue 整合Echarts。♻️Vue引入Echarts。,可以适用各种各样的功能。✳️测试使用Echarts。➿下载Echarts依赖。,便于开发和阅读文档。
VUE整合Echarts实现简单的数据可视化
心态的博客
10-16 9280
ECharts是一款功能强大的前端数据可视化库,支持多种图表类型和统计图表、地理数据可视化、关系型数据展示、多维数据处理和商业智能功能。通过广泛的图表类型、统计分析能力、地理数据可视化、关系数据展示、多维数据处理和商业智能功能,ECharts为用户提供了强大而灵活的数据可视化解决方案,助力用户从数据中获取洞见,并将其直观地展示出来。
vue可视化大屏
小罗的博客
04-27 1359
你可以自行探索各个图层分别是什么,我这里只新增了一个卫星图,图层越多,加载的时候就越慢,用起来就越卡。左上红框可以在线创建、编辑地图样式。下方红框是公钥,可以用来访问你创建的公开地图。点击左上角3D按钮,即可开启3D视图,mapbox会根据全球等高线信息模拟出地形。如果使用其他的图源,记得在mapbox studio里关闭或删除无用的图层。mapbox禁止中国地区的新用户注册,需要开启全局的魔法,进入。上图为山东省泰安市。完成注册后会看到如下画面。安装,通过NPM安装。
基于python+vue电影数据可视化+源代码+文档说明
11-07
<项目介绍> 该资源内项目源码是个人的毕业设计作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 -------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
可视化Vue开发小助手-Troll (VS Code插件)
wangnan8015的专栏
06-24 8639
目录1.开场白2.安装3.主要用法3.1启动/切换Troll编辑器3.2编辑视图切换切换到Troll编辑切换到文本编辑3.3图形操作3.3.1基本图元3.3.2基础操作3.4 添加元素3.5 编辑元素属性3.5 Vue文件读写4.后续5.结束语 1.开场白 今天向大家推荐一个Vue开发辅助工具Troll,这是一个VSCode插件。 Troll工具的主要优点: 能够把.vue文件中的<te...
vue大屏可视化demo
01-25
vue大屏可视化demo 使用方法: # install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minification npm run build # build for production ...
基于Vue3的IofTV-Screen物联网可视化大屏展示设计源码
最新发布
05-26
本项目是基于Vue3的IofTV-Screen物联网可视化大屏展示设计源码,包含127个文件,其中包括41个JSON文件、34个TypeScript文件、21个Vue文件、21个PNG图片文件、2个SCSS文件、1个gitignore文件、1个LICENSE文件、1个...
基于Vue3与ECharts的数据大屏可视化展示完整源码
03-25
项目简介:本项目采用Vue3和ECharts技术栈,构建了一个数据大屏可视化展示的完整案例。项目包含共计73个文件,其中主要包含JSON配置文件(47个),JavaScript脚本(11个),Vue组件(8个),以及其他辅助配置和资源...
基于Vue数据可视化大屏设计源码
04-16
本源码项目是基于Vue数据可视化大屏设计,包含37个文件,主要使用Vue、JavaScript、CSS和HTML编程语言。该项目提供了数据可视化相关配置及代码,旨在为企业和个人提供一个高效、直观的数据展示解决方案。
VueLayout基于UI组件的Vue可视化布局生成vue代码的工具
08-12
Vue-Layout 基于UI组件的Vue可视化布局、生成.vue代码的工具
【毕业设计】基于Vue+ECharts的疫情数据可视化大屏/地图项目(附论文目录结构参考)酷炫大屏
coderYYY的博客
05-30 6965
Vue+echarts做的一个中国疫情数据可视化网站,附源码和论文参考
基于 SpringBoot + Vue 实现的可视化拖拽编辑的大屏项目
码农code之路
03-15 365
今天给小伙伴们分享一个基于 SpringBoot + Vue 实现的可视化拖拽编辑的大屏项目;# 简介这个是一个开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,支持17种大屏组件,不会开发,照着设计稿也可以制作大屏。三步轻松完成大屏设计:配置数据源----&g...
vue3+DataV+Echarts搭建数据大屏模板(建议收藏)
商务合作/软件定制/学习交流
03-10 1万+
Vue3+TS+DataV+Echarts搭建数据大屏模板
基于java+ssm+vue的个人网站的设计与实现
q_2781179521的博客
07-04 768
随着信息互联网购物的飞速发展,一般企业都去创建属于自己的管理系统。本文介绍了个人网站的开发全过程。通过分析企业对于个人网站的需求,创建了一个计算机管理个人网站的方案。文章介绍了个人网站的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。因而具有一定的实用性。本站是一个B/S模式系统,采用SSM框架作为开发技术,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得个人网站管理工作系统化、规范化。
数据可视化大屏 前端屏幕多分辨率适配方案(vue,echarts)
热门推荐
qq_29252533的博客
12-09 1万+
数据可视化大屏 前端屏幕自动适配方案 写在前面: 第一次写博客, csdn账号注册很久了, 应该是2010年注册的, 当时我还在上高中, 当时还在写易语言的, 有些问题搞不懂的会来csdn看大佬是怎么解决的, 也写了些没什么用的小工具上传到csdn, 当然现在都在用git了. 很多人好奇, " 你为什么要学易语言, 垃圾语言 " , 当时是实在看不懂英语, 但是对编程(当时的理解就是编程)很有兴趣, 非常想学. 现在回想从 c语言 易语言 vb javascript java python , 一路过
Vue中如何进行自定义图表与可视化图形设计
Java徐师兄的博客
10-06 734
现在,我们已经有一个基本的图表组件,接下来我们将添加一些自定义功能来使图表更加灵活和有趣。在本文中,我们探讨了如何在Vue.js中进行自定义图表和可视化图形设计。我们首先了解了Vue.js的基本概念,然后选择了Chart.js作为示例数据可视化库。我们创建了一个基本的Vue组件,并添加了动态数据和动画效果,以使图表更具交互性。数据可视化在现代Web应用程序中具有重要地位,它可以帮助用户更好地理解和分析数据。使用Vue.js和合适的数据可视化库,你可以创建出色的可视化图表,为你的应用程序增加价值。
vue全家桶+Echarts+百度地图,搭建数据可视化系统
weixin_33994429的博客
04-25 1998
本文章篇幅略长,内容有点多 大佬可根据目录选择性查阅 新人可一步步来阅读 新增文章:vue全家桶+Echarts+百度地图,搭建数据可视化系统(【续】接口篇) 1 前言 1.1 业务场景 突然接到产品说要做一个数据监控的系统。有线图、柱状图、地图,类似于数据可视化的方式。 本人之前从未接触过Echarts,然后需要2周拿出成果,有点慌
vue3-datav-echarts 可视化模板
12-19
vue3-datav-echarts 是一个基于 Vue 3 和 DataV 平台的可视化模板。它的主要特点包括: 1. 开箱即用:vue3-datav-echarts 提供了丰富的预设模板和组件,方便快速构建各种类型的数据可视化页面。无需从头开始编写代码,只需要按照需求选择合适的模板和组件进行配置即可。 2. 强大的图表库支持:通过引入 echarts 图表库,vue3-datav-echarts 提供了各种类型的图表组件,包括折线图、柱状图、饼图等。用户可以根据自己的需求选择合适的图表组件进行数据展示和分析。 3. 丰富的交互功能:vue3-datav-echarts 提供了多种交互功能,例如数据筛选、数据排序、图表联动等。用户可以通过这些功能与图表进行交互,实时查看和分析数据的变化,提升用户体验。 4. 可定制性:vue3-datav-echarts 具有良好的拓展性和可定制性。用户可以根据自己的需求进行定制化开发,添加自定义的图表组件或功能模块,满足特定的业务需求。 5. 数据可视化的最佳实践:vue3-datav-echarts 遵循了数据可视化的最佳实践,提供了合理的默认配置和样式,帮助用户快速搭建美观、易于理解的可视化界面。 总之,vue3-datav-echarts 是一个功能强大、易用性高的可视化模板,为用户提供了丰富的图表组件、交互功能和定制化选项,帮助用户快速构建高质量的数据可视化页面。无论是数据分析、业务报表还是仪表盘展示,都可以得到很好的支持和效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Python数据可视化大屏最全教程(全) 17976
  • 最完整的Vue教程-从零开始编写可视化大屏 12235
  • Python数据分析-房价预测及模型分析 11812
  • Python大屏看板最全教程之Pyecharts图表 6059
  • Python数据分析-房价的影响因素图解 5337

分类专栏

  • ofter数据科学 36篇

最新评论

  • Python数据可视化大屏最全教程(全)

    ✘宣: 作者大大,能发一份背景图吗

  • Python数据可视化大屏最全教程(全)

    hs011024: 大佬,也求一下背景图

  • [5机器学习]python计算机视觉应用-图片内容识别

    weixin_46939650: 引用「model_path = os.path.join('..', 'snapshots', 'resn」 请问博主,括号里面的‘..’处要改成自己的路径吗?我刚接触python,不太熟练,能否给个示例,谢谢您啦。

  • 最完整的Vue教程-从零开始编写可视化大屏

    夏虫语火: 请问用的nodejs版本多少,安装node-sass失败了表情包

  • 最完整的Vue教程-从零开始编写可视化大屏

    m0_65365807: 运行结果出现的是个网址 但打开就是 you,did it 加一堆没有用的

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 【3数据可视化】基于vue的动态数据低代码可视化实现
  • 数据科学的道德与法规知识
  • 【1数据采集】数据爬虫的完整学习路径
2022年16篇
2021年20篇

目录

目录

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Officetouch数据科学

将知识收为己用

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司布吉网站seo优化报价中山网站优化按天扣费公司甘孜网站开发推荐宁德英文网站建设多少钱舟山网站推广价格柳州外贸网站设计报价苏州关键词按天扣费哪家好安康网站搜索优化价格遵义百度爱采购公司大芬如何制作网站价格迁安seo优化哪家好永州阿里店铺运营报价南山至尊标王哪家好廊坊阿里店铺托管公司伊春网站设计报价中山如何制作网站价格伊春网站改版哪家好襄樊百姓网标王公司河源网站推广工具推荐楚雄网站设计模板报价玉溪关键词排名推荐阳江网站推广工具推荐和县百姓网标王推广邢台关键词按天扣费公司宁波外贸网站设计推荐宁德网站改版推荐日照外贸网站设计公司福田百度关键词包年推广公司扬州企业网站制作抚顺seo公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化