代码

来源:4-3 jsonp的应用+轮播图数据抓取

shuangq

2020-04-10

const path = require(‘path’)
const axios = require(‘axios’)

function resolve(dir) {
return path.join(__dirname, dir);
}

module.exports = {
devServer: {
before (app) {
app.get(’/api/getTopBanner’, function (req, res) {
const url = 'https://u.y.qq.com/cgi-bin/musicu.fcg
const jumpPrefixMap = {
10002: ‘https://y.qq.com/n/yqq/album/’,
10014: ‘https://y.qq.com/n/yqq/playlist/’,
10012: ‘https://y.qq.com/n/yqq/mv/v/
}

    axios.get(url, {
      headers: {
        referer: 'https://u.y.qq.com/',
        host: 'u.y.qq.com'
      },
      params: req.query
    }).then((response) => {
      response = response.data
      if (response.code === 0) {
        const slider = []
        const content = response.focus.data && response.focus.data.content
        if (content) {
          for (let i = 0; i < content.length; i++) {
            const item = content[i]
            const sliderItem = {}
            const jumpPrefix = jumpPrefixMap[item.type || 10002]
            sliderItem.id = item.id
            sliderItem.linkUrl = jumpPrefix + item.jump_info.url + '.html'
            sliderItem.picUrl = item.pic_info.url
            slider.push(sliderItem)
          }
        }
        res.json({
          code: 0,
          data: {
            slider
          }
        })
      } else {
        res.json(response)
      }
    }).catch((e) => {
      console.log(e)
    })
  })

  app.get('/api/getDiscList', function (req, res) {
    const url = 'https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcg'
    axios.get(url, {
      headers: {
        referer: 'https://c.y.qq.com/',
        host: 'c.y.qq.com'
      },
      params: req.query
    }).then((response) => {
      res.json(response.data)
    }).catch((e) => {
      console.log(e)
    })
  })
}

},
chainWebpack: (config) => {
config.resolve.alias
.set(‘components’, resolve(‘src/components’))
.set(‘common’, resolve(‘src/common’))
.set(‘api’, resolve(‘src/api’))
.set(‘base’, resolve(‘src/base’))
},
publicPath: ‘’
}

写回答

1回答

ustbhuangyi

2020-04-10

有问题的数据你可以 console.log 一下 item.type,然后看看值是多少,在控制台可以看到结果。

0
0

Vue2.0高级应用教学实战,开发企业级移动端音乐Web App

Vue.js高级知识应用大集合,实战企业级APP,教你搞定组件化开发。

5432 学习 · 3805 问题

查看课程