Vue实战-实现登陆页面

13 篇文章 3 订阅
订阅专栏
2 篇文章 0 订阅
订阅专栏

Vue实战-实现登陆页面

文章目录

  • Vue实战-实现登陆页面
    • 1 前期准备
      • 1.1 安装Node.js
      • 1.2 安装webpack
      • 1.3 安装vue-cli
    • 2 搭建Vue项目
      • 2.1 创建项目
      • 2.2 项目目录
      • 2.3 导入Element UI
    • 3 实现登陆页面
      • 3.1 修改App.vue
      • 3.2 创建Login.vue
      • 3.3 配置路由
    • 4 实现登陆功能
      • 4.1 导入axios
      • 4.2 导入qs和Mock
      • 4.3 编写提交js
      • 4.4 编写Mock测试数据

1 前期准备

1.1 安装Node.js

官网下载地址:https://nodejs.org/zh-cn/

在这里插入图片描述

安装完成后,在终端输入node -v来查询版本号

在这里插入图片描述

查看npm版本,npm -v

在这里插入图片描述

1.2 安装webpack

终端输入

npm install --save-dev webpack

查看版本webpack -v

在这里插入图片描述

1.3 安装vue-cli

因为创建vue项目使用vue-cli3以上才有的可视化工具来创建,所以这里的版本选择的是3以上的版本

npm install -g @vue/cli

升级vue-cli

npm update -g @vue/cli

卸载vue-cli

npm uninstall vue-cli -g

2 搭建Vue项目

安装好vue-cli后,使用vue提供的可视化工具来创建一个vue项目

2.1 创建项目

  • 在终端输入vue ui,则会进入可视化工具

在这里插入图片描述

  • 选择创建项目的路径

在这里插入图片描述

  • 创建项目文件夹

在这里插入图片描述

  • 预设选择手动,我们手动添加项目的配置

在这里插入图片描述

  • 选择好功能配置后,直接下一步,直接创建项目

在这里插入图片描述

  • 等待项目创建好以后,在WebStore打开项目

2.2 项目目录

在这里插入图片描述

2.3 导入Element UI

直接在ElementUI官网就可以看到导入方式,这里选择全部模块的导入

在控制台输入

 npm install element-ui --save

在main.js引用

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false

/*导入ElementUI*/
import elementUI from 'element-ui';
/*导入ElementUI的CSS样式*/
import 'element-ui/lib/theme-chalk/index.css';
/*Vue使用ElementUI*/
Vue.use(elementUI);

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

3 实现登陆页面

3.1 修改App.vue

这里把全局的设置先进行一个设置,把之前的模版的东西删掉

<template>
  <div id="app">
    <router-view/>
  </div>
</template>

<style>
</style>

修改全局样式

<template>
  <div id="app">
    <!--路由页面-->
    <router-view/>
  </div>
</template>

<style>
/*全局的父类高度*/
html {
  height: 100%;
}

/*重置body属性*/
body {
  padding: 0;
  margin: 0;
  /*继承html*/
  height: 100%;
}

/*#app的高度也需要继承*/
#app {
  height: 100%;
}

/*全局链接标签去下划线*/
a {
  text-decoration: none;
}
</style>

3.2 创建Login.vue

在views目录下右键创建一个vue文件,命名为Login

在ElementUI官网查询布局组件,选择自己的布局,复制到vue文件中

<template>
  <!-- 一行的元素 -->
  <el-row type="flex" class="row-bg" justify="center">
    <!--第一列-->
    <el-col :span="6">
      <div class="grid-content bg-purple"></div>
    </el-col>
    <!--第二列-->
    <el-col :span="6">
      <div class="grid-content bg-purple-light"></div>
    </el-col>
    <!--第三列-->
    <el-col :span="6">
      <div class="grid-content bg-purple"></div>
    </el-col>
  </el-row>
</template>

<script>
export default {
  name: "Login"
}
</script>

<style scoped>

</style>

复制表单,这里复制的是带验证的表单,复制完以后对表单进行修改

<template>
  <div :xl="6" :lg="7" class="bg-login">
    <!--logo-->
    <el-image :src="require('@/assets/logo.png')" class="logo"/>
    <!--标题-->
    <el-row type="flex" class="row-bg row-two" justify="center" align="middle">
      <el-col :span="6"></el-col>
      <el-col :span="6">
        <!--标题-->
        <h1 class="title">xAdmin管理系统</h1>
      </el-col>
      <el-col :span="6"></el-col>
    </el-row>
    <!--form表单-->
    <el-row type="flex" class="row-bg card" justify="center" align="bottom">
      <el-col :span="7" class="login-card">
        <!--loginForm-->
        <el-form :model="loginForm" :rules="rules" ref="loginForm" label-width="21%" class="loginForm">
          <el-form-item label="账户" prop="username" style="width: 380px">
            <el-input v-model="loginForm.username"></el-input>
          </el-form-item>
          <el-form-item label="密码" prop="password" style="width: 380px">
            <el-input type="password" v-model="loginForm.password"></el-input>
          </el-form-item>
          <el-form-item label="验证码" prop="code" style="width: 380px">
            <el-input v-model="loginForm.code" class="code-input" style="width: 70%;float: left"></el-input>
            <!--验证码图片-->
            <el-image :src="codeImg" class="codeImg"></el-image>
          </el-form-item>
          <el-form-item label="记住密码" prop="remember">
            <el-switch v-model="loginForm.remember"></el-switch>
          </el-form-item>
          <el-form-item class="btn-ground">
            <el-button type="primary" @click="submitForm('loginForm')">立即登陆</el-button>
            <el-button @click="resetForm('loginForm')">重置</el-button>
          </el-form-item>
        </el-form>
      </el-col>
    </el-row>
  </div>
</template>

<script>
export default {
  name: "Login",
  data() {
    return {
      // 表单信息
      loginForm: {
        // 账户数据
        username: '',
        // 密码数据
        password: '',
        // 验证码数据
        code: '',
        // 记住密码
        remember: false,
        // 验证码的key,因为前后端分离,这里验证码不能由后台存入session,所以交给vue状态管理
        codeToken: ''
      },
      // 表单验证
      rules: {
        // 设置账户效验规则
        username: [
          {required: true, message: '请输入账户', trigger: 'blur'},
          {min: 3, max: 10, message: '长度在 3 到 10 个字符的账户', trigger: 'blur'}
        ],
        // 设置密码效验规则
        password: [
          {required: true, message: '请输入密码', trigger: 'blur'},
          {min: 6, max: 15, message: '长度在 6 到 15 个字符的密码', trigger: 'blur'}
        ],
        // 设置验证码效验规则
        code: [
          {required: true, message: '请输入验证码', trigger: 'blur'},
          {min: 5, max: 5, message: '长度为 5 个字符', trigger: 'blur'}
        ]
      },
      // 绑定验证码图片
      codeImg: null
    };
  },
  methods: {
    // 提交表单
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          // 表单验证成功
          alert('submit')
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
    // 重置表单
    resetForm(formName) {
      this.$refs[formName].resetFields();
    }
  },
}
</script>

<style scoped>
.codeImg {
  /*让验证码图片飘在右边*/
  float: right;
  /*设置一些圆角边框*/
  border-radius: 3px;
  /*设置宽度*/
  width: 26%;
}

.bg-login {
  height: 100%;
  background-image: url("../assets/backgroud.jpg");
  background-size: 200%;

}

.btn-ground {
  text-align: center;
}

.logo {
  margin: 30px;
  height: 70px;
  width: 70px;
  position: fixed;
}

.title {
  text-shadow: -3px 3px 1px #5f565e;
  text-align: center;
  margin-top: 60%;
  color: #41b9a6;
  font-size: 40px;
}

.login-card {
  background-color: #ffffff;
  opacity: 0.9;
  box-shadow: 0 0 20px #ffffff;
  border-radius: 10px;
  padding: 40px 40px 30px 15px;
  width: auto;
}
</style>

3.3 配置路由

在router下的index.js中进行配置

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'
import Login from '../views/Login.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  // 配置登陆页面的路由
  {
    path: '/login',
    name: 'login',
    component: Login
  }
]

const router = new VueRouter({
  routes
})

export default router

效果图:

在这里插入图片描述

4 实现登陆功能

4.1 导入axios

在vue里面,是只负责页面,也就是view,但是我们登陆的话肯定是需要在后台进行验证的,那么vue里面,通讯是交给了axios来处理的

  • 在控制台终端输入

    npm install axios --save
    
  • 回车,则会自动导入模块

  • 在main.js中进行注册

    /*导入axios*/
    import axios from "axios";
    /*全局绑定axios*/
    Vue.prototype.$axios = axios;
    

4.2 导入qs和Mock

qs是在vue中提供的一个插件,可以帮助我们把字符串进行解析,也可以帮助我们把参数序列化

  • 在控制台终端输入

     npm install qs --save
    
  • 回车,则会自动导入模块

  • 在main.js中进行注册

    /*导入qs*/
    import qs from 'qs';
    /*全局绑定*/
    Vue.prototype.$qs = qs;
    

因为现在没有后台的设计,我们拿不到数据库的数据,所以使用Mock来模拟后端的数据

  • 在控制台终端输入

     npm install mockjs --save-dev
    
  • 回车,则会自动导入模块

  • 创建一个mock的js文件,创建一个空白的js文件,命名随意

  • 在main.js中进行导入mock

    /*引入mock数据*/
    require('./mock/LoginService.js')
    

4.3 编写提交js

获取验证码:

// 获取验证码方法
getVerifyCodeImg() {
  /*获取验证码*/
  this.$axios.get('/getVerifyCode').then(res => {
    // 获取验证码key
    this.loginForm.codeToken = res.data.data.codeToken;
    // 获取验证码图片
    this.codeImg = res.data.data.codeImg;
  })
}
// 因为在页面渲染好以后我们就需要去获取验证码,所以绑定在created下
created() {
  // 页面渲染完成后执行获取验证码方法
  this.getVerifyCodeImg();
}

表单提交:

submitForm(formName) {
  this.$refs[formName].validate((valid) => {
    if (valid) {
      // 表单验证成功
      this.$axios.post('/login', this.loginForm).then(res => {
        // 拿到结果
        let result = JSON.parse(res.data.data);
        let message = res.data.msg;
        // 判断结果
        if (result) {
          /*登陆成功*/
          Element.Message.success(message);
          /*跳转页面*/
          router.push('/')
        } else {
          /*打印错误信息*/
          Element.Message.error(message);
        }
      })
    } else {
      console.log('error submit!!');
      return false;
    }
  });
}

完整的js

<script>
import Element from 'element-ui';
import router from "@/router";

export default {
  name: "Login",
  data() {
    return {
      // 表单信息
      loginForm: {
        // 账户数据
        username: '',
        // 密码数据
        password: '',
        // 验证码数据
        code: '',
        // 记住密码
        remember: false,
        // 验证码的key,因为前后端分离,这里验证码不能由后台存入session,所以交给vue状态管理
        codeToken: ''
      },
      // 表单验证
      rules: {
        // 设置账户效验规则
        username: [
          {required: true, message: '请输入账户', trigger: 'blur'},
          {min: 3, max: 10, message: '长度在 3 到 10 个字符的账户', trigger: 'blur'}
        ],
        // 设置密码效验规则
        password: [
          {required: true, message: '请输入密码', trigger: 'blur'},
          {min: 6, max: 15, message: '长度在 6 到 15 个字符的密码', trigger: 'blur'}
        ],
        // 设置验证码效验规则
        code: [
          {required: true, message: '请输入验证码', trigger: 'blur'},
          {min: 5, max: 5, message: '长度为 5 个字符', trigger: 'blur'}
        ]
      },
      // 绑定验证码图片
      codeImg: null
    };
  },
  methods: {
    // 提交表单
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          // 表单验证成功
          this.$axios.post('/login', this.loginForm).then(res => {
            // 拿到结果
            let result = JSON.parse(res.data.data);
            let message = res.data.msg;
            // 判断结果
            if (result) {
              /*登陆成功*/
              Element.Message.success(message);
              /*跳转页面*/
              router.push('/')
            } else {
              /*打印错误信息*/
              Element.Message.error(message);
            }
          })
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
    // 重置表单
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    // 获取验证码方法
    getVerifyCodeImg() {
      /*获取验证码*/
      this.$axios.get('/getVerifyCode').then(res => {
        // 获取验证码key
        this.loginForm.codeToken = res.data.data.codeToken;
        // 获取验证码图片
        this.codeImg = res.data.data.codeImg;
      })
    }
  },
  created() {
    // 页面渲染完成后执行获取验证码方法
    this.getVerifyCodeImg();
  }
}
</script>

4.4 编写Mock测试数据

在之前新建的LoginService.js下写入mock数据

/*绑定Mock*/
const Mock = require('mockjs');
const Random = Mock.Random;

/*设置一个返回数据的通用结果*/
let result = {
  msg: '',
  data: ''
}

/*模拟数据库信息*/
let username = 'xiaolong';
let password = '123456';
let verityCode = 'abcde';

/**
 * 模拟验证码
 */
Mock.mock('/getVerifyCode', 'get', () => {
  result.data = {
    codeToken: Random.string(32),
    codeImg: Random.dataImage('75x40', verityCode)
  }
  return result;
})

/**
 * 拦截登陆请求
 */
Mock.mock('/login', 'post', (req) => {
  // 获取请求数据
  let from = JSON.parse(req.body);
  //判断验证码
  if (verityCode === from.code) {
    // 验证账户
    if (username === from.username) {
      // 验证密码
      if (password === from.password) {
        result.msg = '登陆成功'
        result.data = 'true'
      } else {
        result.msg = '密码错误'
        result.data = 'false'
      }
    } else {
      result.msg = '用户不存在'
      result.data = 'false'
    }
  } else {
    result.msg = '验证码错误'
    result.data = 'false'
  }
  return result;
})
Vue写一个登录界面
weixin_42579969的博客
02-12 2086
<p>为了实现一个登录界面,您可以使用 Vue 框架中的组件,实现相关功能。 </p> <p>首先,您可以在 Vue 项目中创建一个登录组件,其中包含输入用户名和密码的表单,以及一个提交按钮。您可以使用 Vue 的数据绑定特性,来绑定表单中的输入值到 Vue 实例中的数据。</p> <p>接下来,您可以定义一个提交表单的方法,在该方法中,...
前端纯基础实现登录页面
04-05
前端登录页,纯js+html+css实现 实现功能:账号密码登录,可进行tab切换功能
Vue+Element实现网页版个人简历系统(推荐)
10-15
主要介绍了Vue+Element实现网页版个人简历系统,需要的朋友可以参考下
vue基础教程(6)——构建项目级登录页
最新发布
关注前端,关注原创
04-01 991
前面我们已经把vue自带的页面删除,也搭建了最简单的router路由,下面就可以真正开发我们自己的项目了,一般而言,很少有人从零开始写代码,博主也是为了完善这个系列博客,才会从零开始,把关键的代码都敲了一遍。哪怕同学们有自己心仪的项目,搭建基础的架构,跟着博主学一遍关键的知识点,也有助于以后优化升级项目,修改别人的代码或者修复bug。跟着博主写一遍,大概率是可以真正把控全局,把vue如何搭建网站彻底搞明白。
vue实现简单登录界面
StringBuffer Obj 的博客
06-27 5344
记录一个简单登录界面实现
Vue登录第1版
WXJWHQWY的专栏
01-25 4461
在D:\vue-project文件夹中创建了一个名称为“lighthouse-vue”的Vue项目,下面在这个项目的基础上,完成该项目的登录界面,这里称为Vue登录第1版。 Vue登录第1版采用最简单的形式进行登录认证,具体是: 使用Vue完成登录界面,用户只需要输入用户名和密码,并事先给出用户名为“admin”和密码为“123456”,然后采用JS进行登录验证,如果用户输入的用户名和密码与事先设置的用户名和密码相等,则登录成功;如果都为空,提示输入用户名...
vue网页登录界面
12-21
这个demo是在webstrom运行的vue网页静态登录界面,工具应该不是问题。关于vue的配置和运行这里没有说明,自己可以配置一下。
vue登陆页面
qq_45179361的博客
02-11 6497
vue登陆页面实现
vue 写的登录页面
m0_67183922的博客
09-01 1790
提示:以下是本篇文章正文内容,下面案例可供参考发送axios请求是我自己比较容易遗忘的地方。
P16-Login.vue内容
weixin_37881839的博客
08-19 167
<template> <div> <el-form ref="loginForm":model="form":rules="rules" label-width="80px"class="login-box"><h3 class="login-title">欢迎登录</h3> <el-form-item label="账号"prop="username"> <el-input type=".
使用Vue.js和Element-UI做一个简单登录页面的实例
10-18
下面小编就为大家分享一篇使用Vue.js和Element-UI做一个简单登录页面的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
vue实战--用户管理系统
08-02
vue实战项目--用户管理系统,本管理系统使用json来当做数据库,能够实现用户数据的增删改查等功能
Vue.js实战之利用vue-router实现跳转页面
10-20
对于单页应用,官方提供了vue-router进行路由跳转的处理,这篇文章主要给大家介绍了Vue.js实战之利用vue-router实现跳转页面的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
基于vue-cli3和element实现登陆页面
01-19
1.先用vue-cli3创建一个项目 2.安装element模块 全局安装  npm i element-ui -S 3在main.js引入模块 import ElementUI from 'element-...5.然后我们在views文件夹下新建一个登陆页面login.vue 6.搭建login页面(这里
富文本编辑器vue2-editor实现全屏功能
10-16
主要介绍了富文本编辑器vue2-editor实现全屏功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
Vue3快速入门
AdrianAndroid的专栏
02-16 1808
Vue3快速编程
vue +element ui 登录页面
dengdengchen的博客
08-16 1万+
vue-cli element ui 表单验证 实现效果: 注意一点: 出现一个警告:[Element Warn][Form]model is required for validat 解决方法:将form绑定数据由v-model换成 :model 具体代码: <template> <div id="login"> <div ...
Vue简易登陆页面
热门推荐
建桥之魂的博客
11-22 4万+
效果展示 Vue代码 <template> <div> <div class="login-box"> <h2>登录系统</h2> <form> <div class="user-box"> <input type="text" name="" required="" v-model="username"> <la
vue mianjs 引用css_vue实战-换皮肤
05-25
要在 Vue 的 main.js 文件中引入 CSS 文件,可以使用 `import` 语句。首先确保您已经将 CSS 文件放置在项目的正确位置。 假设您的 CSS 文件位于 `src/assets/css/` 目录下,名为 `skin.css`。 那么在 `main.js` 文件中添加以下代码: ```js import Vue from 'vue' import App from './App.vue' // 引入 CSS 文件 import './assets/css/skin.css' Vue.config.productionTip = false new Vue({ render: h => h(App), }).$mount('#app') ``` 这样,`skin.css` 文件就会被引入到您的 Vue 应用程序中,从而实现皮肤切换的功能。请注意,您还需要在 HTML 文件中添加一个 `<link>` 标签来引入该 CSS 文件,以便在页面加载时正确加载样式。 另外,如果您需要在组件中使用该 CSS 文件中定义的样式,可以在组件的 `<style>` 标签中使用 `@import` 语句来引入该 CSS 文件。例如: ```vue <template> <div class="my-component"> <!-- ... --> </div> </template> <script> export default { name: 'MyComponent', // ... } </script> <style lang="scss" scoped> /* 引入 skin.css 文件 */ @import "@/assets/css/skin.css"; /* 使用 skin.css 中定义的样式 */ .my-component { background-color: $bg-color; color: $text-color; } </style> ``` 请注意,这里使用了 SCSS 语法,如果您的项目中使用的是 CSS,可以将 `lang` 属性设为 `css`。同时,为了确保样式不会影响到其他组件,这里还添加了 `scoped` 属性。

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

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

热门文章

  • Vue实战-实现登陆页面 31256
  • 【Spring-MVC】搭建SpringMVC 2067
  • 【MySql】ResultSet结果集详解 1829
  • 【HTML】表单和表格配合案例 1731
  • JAVA静态代理 1473

分类专栏

  • mysql 12篇
  • java 42篇
  • Spring 30篇
  • JavaWeb 18篇
  • xml 1篇
  • Gradle 1篇
  • JS 2篇
  • html 13篇
  • vue

最新评论

  • Vue实战-实现登陆页面

    2201_75338222: 4.3的js文件放哪啊大ge

  • Vue实战-实现登陆页面

    m0_67075761: 可以发我看看吗,孩子课设题目表情包

  • 【MySql】ResultSet结果集详解

    CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)使用更多的站内链接;(2)提升标题与正文的相关性。

  • Vue实战-实现登陆页面

    HG___GH: 验证码加载失败怎么办呐?

  • Vue实战-实现登陆页面

    Up+: 4.3的js文件放哪啊大佬

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

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

最新文章

  • 【Spring-MVC】拦截器
  • 【Spring-MVC】文件上传
  • 【Spring-MVC】跨域问题
2021年82篇
2020年8篇

目录

目录

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

深圳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 网站制作 网站优化