基于Vue 2.0高仿 今日头条 单页应用——vue-toutiao

vue-toutiao

这是用 vue.js 2.0 高仿 今日头条 的移动端项目,结合了原生app的部分功能以及网页版。css

前言

本人是 今日头条 的重度用户,在学习vue.js过程当中,在GitHub上看到了不少高仿webapp的好项目。由此在有了必定的技术积累后,开始构思使用Vue写今日头条,一是本身对于头条的喜好,另外也是对于本身学习成果的检验。vue

技术栈

  1. vue.js 2.0全家桶(vue、vuex、vue-router)
  2. axios、jsonp
  3. element-ui、iview
  4. vue-lazyload、animate.css、moment、flexible.js

    在线地址

    线上地址(预览地址)
    GitHub地址

说明

  1. 项目内定死 帐号: admin, 密码: admin。
  2. 由于数据缘由,首页请求的数据接口来自网页版今日头条,修改了一些参数; 收藏 页面数据由本地(static文件)获取。
  3. 此项目主要是对于vue.js的运用,在样式上没法彻底还原app,可能有些地方稍微丑陋,望请谅解!
  4. 由于网页接口限制,没法得到app中 视频 这一栏目的数据,因此将其改了一些页面结构。

安装

git clone github.com/hcy1996/vue…ios

安装

npm installgit

运行 (8090端口)

npm run devgithub

感谢

  • 若是您也是头条的重度用户,感受项目对您有学习帮助,麻烦给个star吧,嘿嘿^_^
  • 项目会一直更新,完善更多的功能,如发现一些地方的bug请issue,谢谢。

聊一些项目有关的内容

首先,重要的逻辑和操做都是在 home页(首页)web

这个项目很关键的一环即是数据的获取,并且如今网上不多有现成的新闻数据接口,固然也有,可是返回的数据没法知足咱们的需求。vue-router

后来我在刷新今日头条(f12移动模式)时,在控制台network中捕捉到了数据接口,如今直接分享给你们。
http://m.toutiao.com/list/?tag='+ payload.kind +' &ac=wap&count=20&format=json_raw&as=A125A8CEDCF8987&cp=58EC18F948F79E1& min_behot_time= parseInt((new Date().getTime()) / 1000)vuex

这个接口其实很简单,主要修改tagmin_behot_time这两个字段。npm

  • min_behot_time
    请求发出时的时间戳,秒为单位。
  • tag
    "推荐":__all__,
    "视频":vedio,
    除上述两个外:news_×××

    说一说这 tagelement-ui

    tag中news_×××××× 内容须要几分钟去复制一下,
    好比“热点”:news_hot; “军事”:news_military。。。等等

另外这个请求是有跨域问题的,可用代理(设置proxyTable)和jsonp实现。
其实你们仔细看都能发现,我这里就献丑了,但愿对您之后作一些新闻相关的项目有帮助。


这个项目的更新会在readme中都写出大概,以后会继续把更新中一些具体的代码案例分享在 掘金 的专题里,但愿你们多多支持,谢谢~。~

4-23 更新

  1. 美化首页每条新闻的样式;
  2. 底部导航图标与文字调整;
  3. 修改detail页回到home页“点击加载更多”按钮消失的bug;
相关文章
相关标签/搜索