vue实现豆瓣APP
发布于 7 年前 作者 liangjilin 4650 次浏览 最后一次编辑是 7 年前 来自 分享
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

豆瓣APP

豆瓣电影,图书,音乐,广播,小组。vue2.0 + vue-router + axios + vuex + mint-ui

项目地址

项目链接https://github.com/liangjilin/douban 欢迎广大道友们老司机来star

运行项目

# git clone git@github.com:liangjilin/douban.git

# install dependencies
npm install

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

效果图

text

项目页面结构

│   └── pages
│       ├── main.vue  // 底部导航及页面绑定
│       ├── home
│       │   └── home.vue  // 首页
│       ├── video   //  书影音
│       │   ├── movie  //  电影
│       │     │   ├── movie.vue
│       │     │   ├── movieDetail
│       │     │   │     └── movieDetail.vue  //  电影详情
│       │     │   ├── movieMore
│       │     │   │     └── movieMore.vue  //  正在热映
│       │     │   ├── movieSearch
│       │     │   │     └── movieSearch.vue  //  即将上映
│       │     │   └── movieToplist
│       │     │   │     └── movieToplist.vue  //  榜单
│       │   ├── book   //  图书
│       │     │   ├── book.vue
│       │     │   ├── bookDetail
│       │     │   │     └── bookDetail.vue  //  图书详情
│       │     │   ├── fictionMore
│       │     │   │     └── fictionMore.vue  //  查看更多图书
│       │     │   └── newBookMore
│       │     │   │     └── newBookMore.vue  //  新书速递
│       │   ├── city   //  同城
│       │     │   ├── city.vue
│       │     │   ├── cityDetail
│       │     │   │     └── cityDetail.vue  //  同城详情
│       │     │   ├── cityMore
│       │     │   │     └── cityMore.vue  //  查看更多同城
│       │   ├── tv   //  电视
│       │     │   ├── tv.vue
│       │     │   ├── tvMore
│       │     │   │     └── tvMore.vue  //  查看更多电视剧
│       │   └── music   //  音乐
│       │     │   ├── music.vue
│       │     │   ├── musicDetail
│       │     │   │     └── musicDetail.vue  //  music详情
│       │     │   ├── musicMore
│       │     │   │     └── musicMore.vue  //  查看更多music
│       ├── broadcast
│       │     ├── broadcast.vue
│       │     └── broadcastDetail
│       │     │     └── broadcastDetail.vue  // 广播详情
│       ├── group
│       │     └── group.vue  // 小组
│       ├── mine
│       │     └── mine.vue  // 小组
│       ├── login
│       │     └── login.vue  // 登录
│       └──  register
│              └── register.vue  // 注册
# 豆瓣API
该应用使用了下面4个api:
* `/v2/book` 图书;
* `/v2/movie` 电影;
* `/v2/music` 音乐;
* `v2/event/list?loc=118282&count=10` 同城。

>更多关于豆瓣的api可以前往[豆瓣api官网](https://developers.douban.com/wiki/?title=guide)查看。

需要注意的是,由于豆瓣api的跨域问题,并不能直接通过ajax请求访问。不过vue-cli提供了代理的配置。
我们需要在`/config/index.js`中配置代理:
```javascript
  dev: {
    env: require('./dev.env'),
    port: 8070,
    autoOpenBrowser: true,
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/api': {
        target: 'https://api.douban.com',
        changeOrigin: true,
        pathRewrite:{
          '^/api': ''
        }
      }
    }

关于vuex

如果你想了解vuex的用法,请用力戳Vuex文档

最后说几句

由于豆瓣API部分接口需要key,又不对个人开放,所以相关需要token的接口还没有写,部分没有接口的是自己写json暂时代替的。 项目一直在持续开发和维护优化中,也算是第一个用vue全局桶写的一个项目,比较烂,道友们请不要见笑。

回到顶部