vue低仿知乎日?qǐng)?bào)

概述

一個(gè)基于vue的仿知乎日?qǐng)?bào)的前端項(xiàng)目坚俗。

關(guān)于知乎日?qǐng)?bào):

知乎日?qǐng)?bào)是一款擁有千萬(wàn)用戶的資訊類(lèi)客戶端,每日提供來(lái)自知乎社區(qū)的精選問(wèn)答骏庸,還有國(guó)內(nèi)一流媒體的專(zhuān)欄特稿杂数。

主要功能

每天更新好文章,包括權(quán)威的時(shí)事解讀锉试、有趣的生活建議
  更符合用戶口味的「主題日?qǐng)?bào)」猫十,覆蓋電影、財(cái)經(jīng)呆盖、設(shè)計(jì)拖云、體育等領(lǐng)域
  長(zhǎng)評(píng)優(yōu)先展示
  離線下載功能,及時(shí)緩存近期的 30 篇文章
  更多貼心小細(xì)節(jié):多圖及長(zhǎng)文預(yù)警应又;支持一鍵分享收藏宙项;夜間模式

安裝

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

技術(shù)棧

vue

vuex

vue-router

axios

mint-ui

在線演示

demo

github地址

個(gè)人博客地址

細(xì)節(jié)

API:

感謝Xiao Liang提供的API,所有 API 均由 知乎(Zhihu.Inc)提供。

跨域問(wèn)題

由于瀏覽器的同源策略株扛,不允許進(jìn)行跨域請(qǐng)求尤筐,所以首先解決的就是跨域問(wèn)題,以前采用的是開(kāi)發(fā)時(shí)配置/config/index.js下的proxyTable選項(xiàng)洞就,實(shí)際部署時(shí)采用nodejs轉(zhuǎn)發(fā)盆繁,這次為了方便,采用了第三方APIJsonBird進(jìn)行轉(zhuǎn)發(fā),可以避免跨域的問(wèn)題奖磁,返回的是json對(duì)象改基。

輪播:

知乎日?qǐng)?bào)在首頁(yè)有5個(gè)top_stories繁疤,采用的是輪播方式展現(xiàn)出來(lái)的咖为,為了實(shí)現(xiàn)輪播秕狰,采用的mint-uiswipe組件,不過(guò)在使用的時(shí)候折磨了很久躁染,最后發(fā)現(xiàn)原因是該組件沒(méi)有設(shè)置默認(rèn)的高度鸣哀,需要手動(dòng)設(shè)置,如果不設(shè)置吞彤,就什么都顯示不出來(lái)我衬。。饰恕。(尷尬挠羔。。埋嵌。)

刷新

采用的同樣是mint-ui下的組件破加,規(guī)定聚頁(yè)面底部的距離閾值,小于閾值就觸發(fā)自定義事件雹嗦。

路由

vue-router的配置文件

import Vue from 'vue'
import Router from 'vue-router'
import showContent from '@/components/showContent'
import detail from '@/components/detail'
import message from '@/components/message'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/show',         //顯示新聞列表
      name: 'showContent',
      component: showContent
    },
    {
        path: '/detail',   //顯示詳細(xì)信息
        name: 'detail',
        component: detail
    },
    {
      path: '/message',   //消息頁(yè)面
      name: 'message',
      component: message
    }
  ]
})

狀態(tài)管理

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
    state:{
        id: 9377231,      //文章id
        response: '',    
        top_stories: [],  //標(biāo)題文章
        stories: '',     //普通文章
        date: 20170425  //日期
    },

    mutations: {
    },
    actions: {

    },

})
export default store

防盜鏈

知乎在圖片做了防盜鏈處理范舀,只需要在header中加入

<meta name="referrer" content="never">

即可解決

運(yùn)行截圖

index.png
detail.png
message.png

文件結(jié)構(gòu)

.
├── build
├── config
│   ├── dev.env.js
│   ├── index.js
│   └── prod.env.js
├── dist
│   ├── index.html
│   └── static
│       ├── css
│       ├── img
│       └── js
├── index.html
├── node_modules
├── package.json
├── README.md
├── src
│   ├── App.vue
│   ├── assets
│   ├── components            //組件文件夾
│   │   ├── detailHeader.vue      //詳細(xì)信息的頭部組件
│   │   ├── detail.vue            //詳細(xì)信息組件
│   │   ├── indexHeader.vue       //首頁(yè)組件頭部
│   │   ├── messageHeader.vue     //消息頁(yè)面的頭部組件
│   │   ├── message.vue           //消息頁(yè)面組件
│   │   └── showContent.vue       //首頁(yè)顯示組件
│   ├── main.js
│   ├── router
│   │   └── index.js    //vue-router的配置文件
│   └── store
│       └── index.js    //vuex的配置文件

13 directories, 41 files

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市了罪,隨后出現(xiàn)的幾起案子锭环,更是在濱河造成了極大的恐慌,老刑警劉巖泊藕,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辅辩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡娃圆,警方通過(guò)查閱死者的電腦和手機(jī)汽久,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)踊餐,“玉大人景醇,你說(shuō)我怎么就攤上這事×吡耄” “怎么了三痰?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)窜管。 經(jīng)常有香客問(wèn)我散劫,道長(zhǎng),這世上最難降的妖魔是什么幕帆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任获搏,我火速辦了婚禮,結(jié)果婚禮上失乾,老公的妹妹穿的比我還像新娘常熙。我一直安慰自己纬乍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布裸卫。 她就那樣靜靜地躺著仿贬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪墓贿。 梳的紋絲不亂的頭發(fā)上茧泪,一...
    開(kāi)封第一講書(shū)人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音聋袋,去河邊找鬼队伟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛幽勒,可吹牛的內(nèi)容都是我干的缰泡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼代嗤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼棘钞!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起干毅,我...
    開(kāi)封第一講書(shū)人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤宜猜,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后硝逢,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體姨拥,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年渠鸽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了叫乌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡徽缚,死狀恐怖憨奸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凿试,我是刑警寧澤排宰,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站那婉,受9級(jí)特大地震影響板甘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜详炬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一盐类、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦在跳、人聲如沸枪萄。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)呻引。三九已至礼仗,卻和暖如春吐咳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背元践。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工韭脊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人单旁。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓沪羔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親象浑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蔫饰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容