fetch({ channel_id }, account) {
    if (utils.isLocalChannel('local', channel_id)) {
      return utils.locals({
        localPath: this.home,
        historyPath: this.path.history
      })
    }

    const query = {
      kbps: 192,
      channel: channel_id,
    }

    if (account) {
      ;['token', 'user_id', 'expire'].forEach(item =>
        query[item] = account[item])
    }

    return douban.fm.fresh(query)
      .then(({ body }) => {
        if (body.length === 0) 
          return Promise.reject(new Error('No songs fetched'))
        if (!this.player)
          return Promise.reject(new Error('No valid player'))

        body.forEach(this.player.add)

        return Promise.resolve(body)
      })
  }
[Fetch songs and add them to playlist]
@param  {Object}   channel 
@param  {Object}   account 
@return {Promise}