uniapp将vuex进行封装

在这里插入图片描述

actions.js

import {
    MusicRequest } from "../api/music.js"
import {
    parseLyric } from "./parseLysic.js"
export const actions = {
   
	//请求歌曲信息
	async getSong(context, id) {
   
		const result = await MusicRequest({
   
			url: "/song/detail",
			data: {
   
				ids: id,
			},
		})
		let song = result[1].data.songs[0]
		let music = {
   
			id,
			name: song.name,
			picUrl: song.al.picUrl,
			author: song.ar[0].name,
		}
		let res = await MusicRequest({
   
			url: "/song/url",
			data: {
   
				id: id,
			},
		})
		// 获取歌词
		let lyric = await MusicRequest({
   
			url: "/lyric",
			data: {
   
				id: id,
			},
		})
		if (lyric[1].data.lrc) {
   
			lyric = lyric[1].data.lrc.lyric
		} else {
   
			lyric = "暂无歌词"
		}

		let newlyric = parseLyric(lyric)
		music.src = res[1].data.data[0].url
		music.lyric = newlyric
		this.commit("upDateSong", music)
	},
}

getters.js

export const getters = {
   
	// 获取歌曲
	getSong: state => {
   
		return state.song
	},
	// 获取播放状态
	getStatus: state => {
   
		return state.play
	},
	// 获取到audio 上下文 innerAudioContext 对象 
	getAudio: state => {
   
		return state.innerAudioContext
	},
	getList:
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值