import { getSongList, getSongUrl } from './api' // 引入接口文件
App({ onLaunch() { // 在小程序启动时获取音乐列表 getSongList() .then(res => { // 将音乐列表保存到全局变量中 this.globalData.songList = res.data }) .catch(err => { console.error(err) }) }, globalData: { songList: [] // 全局音乐列表 } })
// 首页 index.js const app = getApp()
Page({ data: { songList: [] // 页面音乐列表 }, onLoad() { // 将全局音乐列表赋值给页面音乐列表 this.setData({ songList: app.globalData.songList }) }, playMusic(event) { const { songId } = event.currentTarget.dataset // 根据歌曲id获取歌曲的url getSongUrl(songId) .then(res => { const { url } = res.data // 使用wx.createInnerAudioContext API播放音乐 const audio = wx.createInnerAudioContext() audio.src = url audio.play() }) .catch(err => { console.error(err) }) } })
// 封装网络请求接口文件 api.js import request from './utils/request' // 引入封装的网络请求函数
// 获取音乐列表 export const getSongList = () => { return request({ url: '/song/