如何编写前端设计文档

404 篇文章 25 订阅
订阅专栏
395 篇文章 35 订阅
订阅专栏

前端设计文档是什么?

在这里插入图片描述

在笔者所在的前端研发流程中, 【技术调研及方案设计】属于连接【需求阶段】和【开发阶段】的中间节点。在需求详评(三审)后了, 需求的功能和交互已经基本确定, 而在实际进入开发之前, 还有一些待确定的技术要点需要补全, 这些要点包括

需求的可实现性(理论上能不能做, 是否能支持某个功能, 某个交互是否能实现, 实现功能的成本是否过于巨大),假设你给 PM 拍胸口说啥功能你都能实现, 然后 Ta 提了一个这样的需求…
需求的整体架构(前后端交互的流程和方式, 接口的路径、请求和响应参数)
需求的具体设计(前端页面/组件/服务的设计)
而编写前端设计文档就是补全和完善上述这些技术要点的过程以及过程沉淀出的产物.

为什么写前端设计文档?

Measure twiceandcut once三思而后行

如果所有产品的功能都是在页面上展示 Hello, World 的话, 那么我们大概是不需要设计文档的,然而现实世界的产品需求功能充满了复杂性, 一个页面可能展示了非常多不同来源数据, 有不同的交互细节, 周密的业务流程, 这就要求我们需要在动手开发之前先想好这个功能能不能实现以及如何实现.

试想一下如果不写设计文档, 撸起袖子就开干可能会有哪些 Bad Ending?

Case 1: 需求要你接入一个第三方 SDK, 你和第三方的研发同学开了个小会对齐发现没有啥问题, 你没有做详细的技术设计印证是否 SDK 能完整支持需求, 也没有测试过 SDK, 结果开发到一半发现 SDK 的功能不能完整支持你的业务需求, 如果要支持必须得第三方排期支持, 而这个项目本来预计要尽快上线的, 你人傻了 (First Blood🙅)
Case 2: 需求中的一个功能需要你同时请求多个接口, 你没有充分考虑这些接口失败的容灾, 对这些请求的返回听天由命, 结果上线后用户在使用中经常遇到一个接口请求成功了, 另一个失败了,造成数据不一致, 用户反馈功能不可用, 你人傻了 again (Double Kill!🙅)
Case 3: 需求中需要开发一个弹窗, 你匆匆一瞥觉得这也就半天就能开发完, 结果没有充分考虑到这个弹窗有五个模式三个形态八种流程, 低估了 2/3 的排期, 排期到了 QA 催促为什么还不提测, 匆匆做完测试之后出现了一堆 Bug, 你人傻了 one more time (Triple Kill!🙅)

我是三傻·史塔可吗?

在这里插入图片描述

而设计前端文档, 就是尽快能在开发之前将技术上不确定的点确定好, 将需求的设计方式提前构思好, 以减少后续开发出现风险和问题的可能性.虽然技术文档也不能 100%预见或者评估出所有潜在的风险和问题, 但是技术文档能在相当程度上减少这类风险.

除了通过设计文档尽量避免上述的问题之外, 设计良好的前端文档可以帮助你提升开发的质量和效率, 原因如下

当你书写设计文档时就像是在构思文章的提纲, 一旦确定了代码的整体架构和组件结构, 你就有了构建需求的蓝图, 而开发就是完成各种组成部分的细节, 这比边干边想效率要高很多.
当你在设计时将代码的架构、类型、接口定义好, 开发时甚至可以直接复用设计文档中的代码
而当你完成设计文档以后, 组内同学或者其他合作方就可以了解你的设计, 帮助你判断设计方案的优劣, 了解你方案中对相关方的需求和影响, 可以更高效率的对齐技术信息.
如何写好前端设计文档?
既然编写设计文档可以更好的帮助我们在开发前阶段进行趋利和避害,那么编写设计文档应该是一件很有必要的事情了, 在这个判断下, 我们新的问题是: 如何写好一篇设计文档?
笔者认为一篇合格的设计文档应该满足至少几个条件
内容完备
设计文档体现的是用你的大脑去完整执行一遍需求流程的模拟, 它必须包含这个需求涉及到的全部环节、状态与环境, 你需要考虑到你的上下游和你的关系, 你如何请求服务或者别人如何使用你的服务, 你的页面是在什么环境下运行(浏览器/Webview/CEF), 以及这些相关环节如果出现问题对你的影响, 如果有一种情况被你疏忽了, 那可能都是线上问题或者是事故的祸根;
在设计你的页面和功能时, 你应该把这个页面或者组件的全部功能列举清楚, 这些页面或组件又有什么样的状态变化和交互, 只有把这些方面考虑齐全了, 才可能更客观的评估工作量的多少.
此外, 在设计文档中应该收集齐开发需要的各类文档和资料, 以提升查找所需信息的效率, 例如笔者团队前端设计的文档模版中会收集如下内容
需求文档
设计视觉稿
服务端 IDL
第三方服务/SDK 文档
测试 Case
埋点文档
运营资源列表(optional)
走查及验收文档
结构清晰: 合理且清晰的文档组织能够反映你良好的思考顺序, 也便于他人理解, 笔者一般采用需求整体 - 页面 - 组件/模块这样的层次去组织设计方案, 就像你在开发一个 React/Vue 页面或组件, 也是先设计父组件, 再去思考组成它的子组件的功能(根据具体情况也可以先设计底层模块和服务), 就如庖丁解牛, 如果你能对整体结构和各个组成部分之间的结构和边界界定清晰的话, 相信你的代码模块化也会做的更好.
便于执行: 一个理想的设计文档应该可以做到让别人来看你的文档也知道怎么实现需求(这个标准确实有些理想), 但是如果一篇设计文档写完你还是对如何进行开发毫无头绪或者存在疑点, 那么这片设计文档可能还不够完善, 更好的设计文档应该就像是乐高或者宜家的说明书一下, 看着文档你就应该对如何操作了然于胸.
以上是一些关于设计文档的理论描述, 下面让我们关注一些更具体的细节
如果你要开发一个新应用
创建新的 Git 仓库
项目初始化
项目部署流程
接入监控
如果你要开发一个新页面
页面的路由及相应的 query
页面的整体功能与结构设计
如果你要开发一个组件, 你需要思考:
一个页面其实和组件的设计有很多共同之处, 他们都有三个组成部分
State: 有哪些状态? 本地状态或需要通过接口获得的状态?
UI: 用户界面由哪些部分组成? 状态如何驱动 UI 的变化
Logic: 有哪些逻辑? 这些逻辑可以被归类为若干类子逻辑(操作数据、事件响应、调用服务), 这些逻辑会如何改变状态, 又如何响应用户的交互或者其他事件?
让我们举个 🌰 例子
以笔者遇到过的一个复杂需求为例, 这个需求的内容接入用户反馈的 SDK, 并且在反馈的后台系统看到这个用户的反馈和用户信息, 我当时的设计过程是这样的:

首先在阅读完需求文档后,我们了解到这个需求大致有两部分组成
(1) C 端需求: 在用户客户端/App 里的页面增加客服弹窗的入口
(2) B 端需求: 在客服后台中, 当客服同学选择某个用户的会话时可以看到这个用户的用户信息/课程信息/订单信息
让我们在大脑中完整的跑一下从 C 端到 B 端的这个流程
用户在 C 端提交反馈
C 端的客服SDK识别这个用户的身份信息, 连带提交的反馈信息传送到客服的数据库中
B 端的客服登录以后能够看到这个反馈信息, 并且能拿到这个用户的身份信息
B 端客服可以在选中这个反馈会话后继续查看用户的用户信息、订单信息(学生)或课程信息(老师)
最终用一张流程图来概括就是

在这里插入图片描述

有了整体的流程结构, 让我们来思考一下其中关键环节的细节
客服SDK如何识别 C 端用户的身份信息?
C 端用户在登录和不登录时身份判断的差异?
B 端如何获得反馈者的身份信息
B 端的用户信息/课程信息/订单信息页面如何实现? 是在客服平台的工程开发还是使用 iframe?
如果是 iframe, 上面的三个页面如何获得反馈者的身份信息
经过和客服平台的讨论和设计后, 设计方案才能确定
在把技术流程和方案确定以后,我们要开始对功能的实现进行具体的设计
C 端部分:
因为各个页面的弹窗按钮样式和功能一致, 我们需要设计一个弹窗按钮组件
弹窗按钮组件底层调用了客服 SDK, 所以底层需要设计一个客服弹窗服务模块
在需要引入客服弹窗入口的页面引入弹窗按钮组件
B 端部分
因为决定在客服平台植入一组 iframe 页面, 所以需要单独启动一个独立的仓库, 需要进行一些配置工作
开发三个 iframe 页面: 用户信息 / 课程信息 / 订单信息
当这些组成部分都清晰了, 我们才可以动手设计具体细节
当走到这里的时候, 需求的整体流程、前后端交互方式、以及具体功能实现可以说基本完成了, 这时候再开始动工就减少了技术上的不确定性, 开发思路也了然于胸中, 可谓是文思如泉涌,按键如有神 ⌨️
当然, 即使是到了这一步也不能说是思考的终点, 在开发、联调、测试、部署中还是可能会有意外事情的发生, 但是随着你设计思路和实践的逐步完善,这种意外会相对减少,即使发生你也能游刃有余, 总能够保证需求高质量、高效率的交付, 成为团队信赖的小伙伴 👏
最后附上笔者团队前端的设计文档模版
1.需求背景及资源
需求背景
相关文档 & 资源
需求文档:
设计视觉稿:
服务端 IDL:
第三方服务/SDK 文档
测试 Case:
埋点文档:
运营资源列表(optional):
走查及验收文档:
2.排期
需求 Timeline
评审 设计 开发 联调 测试 上线
日期
排期拆分
排期(人/天) 模块 Owner
模块 1
模块 2
合计人天
3.设计方案
整体方案
项目搭建
部署方案
监控方案
页面设计
页面描述
URL
UI & 交互逻辑(UI 拆分)
状态
请求逻辑
业务逻辑
埋点逻辑
组件设计
模块描述
UI & 交互逻辑
状态 / Props
业务逻辑
埋点逻辑
公用模块
模块描述
业务逻辑
4.Todos
设计方案
开发
页面 1
组件 1
通用模块 1
联调
测试
UI 走查
上线
感谢你阅读到这里, 请注意这也只是笔者根据自身经验提出的一些关于技术设计的建议, 也存在不少笔者未曾设想的方面和不完善之处, 请读者也根据实际情况不断完善设计实践, 并和大家一起分享.

在这里插入图片描述

结语
如果你觉得此文对你有一丁点帮助,点个赞。或者可以加入我的开发交流群:1025263163相互学习,我们会有专业的技术答疑解惑

如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star: http://github.crmeb.net/u/defu 不胜感激 !

博客
最新uniapp开发微信小程序商城搭建教程(附源码)
11-02 9981
uni-app是近年来一种新兴的多端混合开发框架,适合开发跨平台应用,方便多端运行。接下来,我就用一套开源打通版系统给大家演示一下,如何用最新的uni-app来搭建一个微信小程序商城。
博客
这个用PHP开发的全开源商城系统可免费商用
05-09 4310
近两年,开源一直是技术圈非常火热的话题,拥抱开源已是大势所趋,互联网精神本就以开放、分享为核心,去开源平台Github及国内的Gitee溜达一圈,可以发现许多优秀的开源项目,废话不多说,今天给大家分享一款真正可免费商用的好开源商城系统,绝对精品!...
博客
19. 详解网络请求Axios
01-25 2124
Axios是什么?Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。我们知道 Promise 是 js 异步的一种解决方案,它最大的特性就是可以通过 .then 的方式来进行链式调用。其实说白了axios是对ajax的封装,axios有的ajax都有,ajax有的axios不一定有,总结一句话就是axios是ajax,ajax不止axios。为什么选择axios?vue的作者尤雨溪推荐使用axios.符合前后端分离的趋势,及前端的MVVM的浪潮
博客
18. Vue的状态管理 - Vuex
01-22 3027
vuex的相关知识点不多,但较为难理解,很多没有做过项目的同学去看官方文档可能无法真正理解,所以我这里除了介绍其基本的安装使用之外,会从他的应用场景及使用vuex的好处等方面来聊一下个人浅见!vuex是什么?官话:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。我个人的理解是,如果有一些公共的数据需要在多个组件中共享或者某一个状态的改变会影响多个组件,那么这时候用vuex是非常合适的,比.
博客
14. vue的插槽
01-16 7502
vue的插槽插槽这个概念相对就比较抽象,但抽象的概念用生活中常见的事物去做类比,也就变得没那么抽象了!举一个生活中的例子:比如装修房子的时候我们会在很多地方预留出一些插孔,可能要插电冰箱,插电式,插充电器等,反正就是你觉得预留在这个位置的插座一定有用,这个预留的插座就类似我们今天要说的插槽,插槽就是你在模板中提前通过一个占位符(slot)来预言一块固定的区域将来会被某些元素替换掉,但是这个位置我得先预留出来。在veu 2.6.0 中,具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot
博客
这款完全开源可自主DIY的小程序商城太强大了,直接可给客户搭建赚米
01-11 1万+
项目介绍CRMEB Min是CRMEB品牌全新推出的一款轻量级、高性能、前后端分离的开源电商系统,完善的后台权限管理、会员管理、订单管理、产品管理、CMS管理、多端管理、页面DIY、数据统计、系统配置、组合数据管理、日志管理、数据库管理,一键开通短信、产品采集、物流查询等接口,系统采用TP6+Mysql+Uniapp+iView+Redis+workerman+form-builder等最流行热门的技术,支持队列、PHP快速生成表单、长链接、定时任务、事件订阅、图表统计、表格导出、自动接口文档,完善的使
博客
这个用JAVA开发的全开源商城系统可免费商用
12-24 1万+
近两年,开源一直是技术圈非常火热的话题,拥抱开源已是大势所趋,互联网精神本就以开放、分享为核心,去开源平台Github及国内的Gitee溜达一圈,可以发现许多优秀的开源项目,废话不多说,今天给大家分享一款真正可免费商用的好开源商城系统,绝对精品!颜值高这是个看脸的时代,第一印象很重要,美的东西总能让人赏心悦目,程序也是如此,界面美观,用起来都舒服!功能全现在是移动端的天下,社交电商更是如火如荼,某拼平台更是将各种社交营销活动玩的是眼花缭乱,什么砍价、拼团、秒杀、会员、积分已经成了商城系统的标.
博客
CRMEB全开源Java版微信小程序商城,附源码
12-16 5373
CRMEB-JAVA版简介CRMEB商城JAVA版,SpringBoot + Maven + Swagger + Mybatis Plus + Redis + Uniapp +Vue 包含移动端、小程序、PC后台、Api接口;有产品、用户、购物车、订单、积分、优惠券、营销、余额、权限、角色、系统设置、组合数据、可拖拉拽的form表单等模块,大量的减少了二开的成本。CRMEB-JAVA版主要特性有详细的代码注释,有完整系统手册SpringBoot框架使用SpringBoot框架框架开发前端.
博客
深入理解element-plus table二次封装:从理论到实践的全面指南
03-27 2151
在许多中后台管理系统中,表格占据着半壁江山,如果使用element plus组件库,那么少不了要用到table组件,可是table组件的功能过于基础,因此,我在table组件的实现基础之上进一步封装,从而实现功能更强大的table组件。在实现table组件的功能之前,我们首先需要先来看看用法,由于使用示例比较多,可能将会有几篇文章主要介绍所有示例用法,介绍完示例之后将会有专门的文章基于使用方式去详细讲解封装思路。
博客
解决Uniapp视频在手机上无法播放的终极指南!
03-25 2455
介绍:本文主要介绍uniapp中video标签在手机端无法播放视频的问题并且如何解决。
博客
Vue 性能不给力?这些优化技巧帮你轻松搞定!
03-22 1099
设置唯一的key,能精确找到该数据,数据改变时能较快定位到diffdiff算法目的是找出差异,最小化更新视图,发生在视图更新阶段,当数据发生变化的时候,diff就对比新旧虚拟DOM,只渲染有变化的部分。1.对比是不是同类型标签,不是同类型直接替换2.是同类型标签,就执行patchVnode方法,判断新旧vnode是否相等newVnode和oldeVnode都有文本节点,就用新节点换旧节点new有子节点,old没有,就增new的子节点new没有子节点,old有,则删。
博客
Vue响应式原理全解析
03-20 625
大家好,我是程序员蒿里行。浅浅记录一下面试中的高频问题,请你谈一下Vue响应式原理。必备前置知识,​​Vue2​​官方文档中​​深入响应式原理​​​及​​Vue3​​官方文档中​​深入响应式系统​​。响应式本质是当数据变化的时候,会自动执行一些相关函数。price: 2,amount: 3假设去水果店买苹果,价格为两元,买三个,总价是六元。但是苹果价格调整后,我还得重新计算一遍总价,即调用totalPrice函数。
博客
Vue快速教程:如何优雅地移除数组中的特定元素?
03-18 1940
这段代码乍一看似乎没啥问题,removeArr记录了要剔除的位置,比如[1, 3], 剔除1、3位置,但在剔除1位置后,splice会修改本身数组长度,原先的3位置的元素应该是退到2位置了,如果还剔除3位置的元素,按逻辑来说是不对的。在写本文的时候,我发现以下更简洁的写法,每次剔除前,直接获取要剔除的位置即可,虽然可能剔除位置一直不变,但是元素的变化了的,所以也不会出现剔除错误的情况。方法将要删除的元素之前和之后的元素分别存储在新的数组中,从而得到去除指定元素后的数组。方法来去除数组中的某个元素。
博客
Vue面试无忧,一文带你搞定前端面试中的热门难题!
03-13 940
虚拟 DOM (Virtual DOM,简称 VDOM) 是一种编程概念,意为将目标所需的 UI 通过数据结构“虚拟”地表示出来,保存在内存中,然后将真实的DOM与之保持同步。具体来说,虚拟 DOM是由一系列的 JavaScript 对象组成的树状结构,每个对象代表着一个DOM元素,包括元素的标签名、属性、子节点等信息。虚拟 DOM中的每个节点都是一个 JavaScript 对象,它们可以轻松地被创建、更新和销毁,而不涉及到实际的DOM操作。主要作用虚拟 DOM。
博客
一文全面解析 Vue3 el-table 组件二次封装
03-11 1267
然而,数据的 key 作为列名的情况很少(至少在我们这里,一般是使用中文作为列名的),这就需要我们使用可定制的列名,并且,如果我们不想展示某些字段,上面的写法也是做不到的(它会显示数据的所有字段)。这时候,我们只需要一个映射(mapper)就可以解决这些问题。该对象的每一个属性对应每一列的 prop、key,值对应列的列名 label。// App.vue// 定义新的Header结构,key为column的prop/key,value为column的labela: "列a",b: "列b",
博客
Vue2中Hash和History路由模式的深入解析
03-09 1032
路由有两种模式:一种是hash模式、另一种是history模式,在使用vue-cli以及vue-router默认搭建的Vue项目,若不做特殊的配置,默认就是hash模式。
博客
掌握 Vue3、Vite 和 SCSS 实现一键换肤的魔法步骤
03-06 836
一个网站的换肤效果算是一个比较常见的功能,尤其是在后台管理系统中,我们几乎都能看到他的身影,这里给大家提供一个实现思路。
博客
掌握工作中最常见的10个Redis应用场景
03-04 1060
Redis作为一种优秀的基于key/value的缓存,有非常不错的性能和稳定性,无论是在工作中,还是面试中,都经常会出现。今天这篇文章就跟大家一起聊聊,我在实际工作中使用Redis的10种场景,希望对你会有所帮助。
博客
封装验证码组件的简易教程
02-28 1515
验证码我们平时应该不少见到,其原理就是通过HTML5 Canvas API也就是我们说的画布,我们可以通过算法随机生成一系列字符、数字或图形,并将它们以扭曲、拉伸、旋转、添加噪点,以增加机器识别难度。对于更高级的验证码,可以使用SVG或者其他矢量图技术来创建复杂且难以解析的图形。
博客
提升Vue3应用效率的秘诀:深入比较ref与reactive!
02-26 1304
ref在 Vue3 中提供了一种更统一、灵活的响应式解决方案,还能避免了reactive的某些局限性。点此下载。

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

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

热门文章

  • 如何自己搭建一个小程序(步骤详解) 127620
  • 对接企业微信,客户关系管理也可以很简单! 39296
  • 这些功能要是没有,我大 Pro 还怎么出来混! 38709
  • crontab命令详细介绍教程,快来围观 38078
  • JS中的JSON.Stringify 方法详解 30812

分类专栏

  • Vue 43篇
  • CRMEB 395篇
  • 学习笔记 404篇
  • 其他 4篇
  • 开源工具 18篇

最新评论

  • Vue 3 中的响应式原理

    xwss666: 在这胡说八道什么呢

  • Vue中前端导出word文件

    曹筱君: 重复出现了表单数据啊

  • Vue后台项目开发必备:全面解析分辨率适配与网页缩放技巧!

    ctrl+c工程师: 为啥浏览器适配方案没效果啊

  • Vue后台项目开发必备:全面解析分辨率适配与网页缩放技巧!

    zaker.: 请问下1680x838下打开遮罩之类的组件,会自动出现遮罩在最顶层,导致点击无效,请问如何解决

  • Vue后台项目开发必备:全面解析分辨率适配与网页缩放技巧!

    zaker.: 我的是1680x838下会出现遮罩

大家在看

  • 简说caffe
  • 什么是unionid?
  • 实训2-12、PyEcharts 地理图表之地理坐标系
  • Java计算机毕业设计网络教学系统(开题+源码+论文)
  • 1269java jsp ssm人事人力资源系统员工考勤请假薪资工资奖惩管理(源码+数据库+文档)

最新文章

  • 深入理解element-plus table二次封装:从理论到实践的全面指南
  • 解决Uniapp视频在手机上无法播放的终极指南!
  • Vue 性能不给力?这些优化技巧帮你轻松搞定!
2024年29篇
2023年84篇
2022年219篇
2021年185篇
2020年59篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

PHP网站源码坪山百度关键词包年推广南澳关键词按天计费南山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次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化