接口改动
This commit is contained in:
171
utils/music.js
171
utils/music.js
@@ -1,8 +1,8 @@
|
||||
import store from '@/store/index.js'
|
||||
import $http from '@/config/requestConfig.js';
|
||||
const bgm = uni.getBackgroundAudioManager();
|
||||
// const bgm = {};
|
||||
// const bgm = uni.createInnerAudioContext();
|
||||
|
||||
bgm.musicList = [] // 播放目录
|
||||
bgm.src = ''
|
||||
bgm.htimes = 0 // 历史播放秒数
|
||||
@@ -47,7 +47,7 @@ var music = {
|
||||
if(bgm.src == ''){
|
||||
console.log(bgm.playIndex,'播放的索引',store.state.userInfo.playIndex,'播放的时长',store.state.userInfo.playTimes)
|
||||
store.commit('setUserInfo',{'playTitle': bgm.musicList[bgm.playIndex].chapterName})
|
||||
store.commit('setUserInfo',{'fengImg': bgm.musicList[bgm.playIndex].images})
|
||||
store.commit('setUserInfo',{'fengImg': bgm.musicList[bgm.playIndex].bookImage})
|
||||
store.commit('setUserInfo',{'playingInfo': bgm.musicList[bgm.playIndex]})
|
||||
console.log(store.state.userInfo,'chapterName',bgm.playIndex)
|
||||
store.state.userInfo.playTimes ? bgm.htimes = store.state.userInfo.playTimes : ''
|
||||
@@ -67,17 +67,20 @@ var music = {
|
||||
store.commit('setUserInfo',{'playFlag': false})
|
||||
|
||||
})
|
||||
bgm.onPlay(() => {
|
||||
bgm.onPlay(() => {
|
||||
store.commit('setUserInfo',{'playFlag': true})
|
||||
bgm.playing = true
|
||||
console.log('开始播放音乐#######');
|
||||
store.commit('setUserInfo',{'playingInfo': bgm.musicList[bgm.playIndex]})
|
||||
console.log(store.state.userInfo.playingInfo,'chapterName2222')
|
||||
store.commit('setUserInfo',{'playingInfo': bgm.musicList[bgm.playIndex]})
|
||||
//console.log(store.state.userInfo.playingInfo,'chapterName2222')
|
||||
uni.hideLoading()
|
||||
|
||||
// 第一次存储
|
||||
//this.saveIndex()
|
||||
//this.saveRate(bgm.musicList[bgm.playIndex])
|
||||
// end
|
||||
bgm.interval = setInterval(()=>{
|
||||
console.log('存一次')
|
||||
// this.saveIndex()
|
||||
this.saveIndex()
|
||||
store.commit('setUserInfo',{'playTimes': bgm.currentTime}) // 本地存储
|
||||
this.saveRate(bgm.musicList[bgm.playIndex]) // 线上存储
|
||||
},180000)
|
||||
@@ -113,10 +116,10 @@ var music = {
|
||||
// 可以播放时
|
||||
console.log('可以播放时')
|
||||
uni.hideLoading()
|
||||
this.saveIndex()
|
||||
this.saveIndex()
|
||||
this.saveRate(bgm.musicList[bgm.playIndex])
|
||||
// console.log('历史播放进度,秒数', bgm.htimes)
|
||||
bgm.seek(bgm.htimes)
|
||||
bgm.seek(bgm.htimes)
|
||||
// console.log(bgm,'bgm')
|
||||
})
|
||||
bgm.onEnded(() => {
|
||||
@@ -128,13 +131,19 @@ var music = {
|
||||
})
|
||||
},
|
||||
// 添加播放列表
|
||||
setList(list,op,playindex,time){
|
||||
// console.log(time,'time',playindex,'playindex')
|
||||
setList(list,op,playindex,time){
|
||||
if(bgm.interval){
|
||||
console.log('存在定时器,清空')
|
||||
clearInterval(bgm.interval)
|
||||
bgm.interval = null
|
||||
}
|
||||
console.log(time,'time',playindex,'playindex')
|
||||
bgm.musicList = list
|
||||
//console.log(bgm.musicList,'bgm.musicList')
|
||||
bgm.oldIndex = bgm.playIndex // 暂存上一个播放得index
|
||||
// console.log('地址异常报错前index:',bgm.oldIndex)
|
||||
// playindex ? bgm.playIndex = playindex : bgm.playIndex = 0
|
||||
store.commit('setUserInfo',{'playingInfo': {}})
|
||||
store.commit('setUserInfo',{'playingInfo': {}})
|
||||
if(playindex){
|
||||
bgm.playIndex = playindex
|
||||
console.log(playindex,'传值了')
|
||||
@@ -205,42 +214,69 @@ var music = {
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
// 获取章节url
|
||||
getChartUrl(){
|
||||
// bgm.stop()
|
||||
getChartUrl(){
|
||||
// bgm.stop()
|
||||
|
||||
let data = {
|
||||
'userId': store.state.userInfo.id,
|
||||
'bookid': bgm.musicList[bgm.playIndex].bookid,
|
||||
'chapterid': bgm.musicList[bgm.playIndex].chapterId
|
||||
'bookId': bgm.musicList[bgm.playIndex].bookId,
|
||||
'chapterId': bgm.musicList[bgm.playIndex].id
|
||||
}
|
||||
console.log(data,'data')
|
||||
$http.post('book/bookchaptercontent/appBooksChapterContent', data)
|
||||
$http.post('book/bookchaptercontent/getBooksCatalogue', data)
|
||||
// $http.post('book/bookchaptercontent/getCatal', data)
|
||||
.then(res => {
|
||||
console.log(res,'res')
|
||||
if(res.code == 0){
|
||||
console.log(res,'鉴权结果')
|
||||
if(res.code == 0){
|
||||
if(res.jq==false ){
|
||||
store.commit('setUserInfo',{'playFlag': false})
|
||||
if(bgm.interval){
|
||||
console.log('存在定时器,清空')
|
||||
clearInterval(bgm.interval)
|
||||
bgm.interval = null
|
||||
}
|
||||
// 鉴权失败
|
||||
|
||||
if(res.product == null){
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
confirmText:'好的',
|
||||
content: '您还未拥有此书哦~',
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定');
|
||||
}
|
||||
}
|
||||
});
|
||||
}else{
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
cancelText: '暂不购买',
|
||||
confirmText:'立即购买',
|
||||
content: '抱歉!该章节需要购买后才可以听哦~',
|
||||
success: function (res1) {
|
||||
if (res1.confirm) {
|
||||
console.log('用户点击确定',res.product);
|
||||
uni.navigateTo({
|
||||
url: '../bookShop/commodityDetail?id=' + res.product
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
// bgm.stop()
|
||||
// 有听权限时
|
||||
if(res.bookCatalogue[0].url){ // 空值url:null
|
||||
if(res.chapter.voices != null && res.chapter.voices != ''){ // 空值url:null
|
||||
// 先清除定时器
|
||||
clearInterval(bgm.interval)
|
||||
bgm.interval = null
|
||||
bgm.src = res.bookCatalogue[0].url
|
||||
// bgm.title = res.bookCatalogue[0].name
|
||||
// bgm.coverImgUrl = res.image
|
||||
// store.commit('setUserInfo',{'playIndex': bgm.playIndex})
|
||||
// store.commit('setUserInfo',{'playTitle': bgm.title})
|
||||
// store.commit('setUserInfo',{'playingInfo':bgm.musicList[bgm.playIndex] })
|
||||
// store.commit('setUserInfo',{'fengImg': bgm.coverImgUrl})
|
||||
// bgm.pause()
|
||||
// this.setCoverImg(bgm.musicList[bgm.playIndex].images)
|
||||
}else{
|
||||
// bgm.src = ''
|
||||
// bgm.title = ''
|
||||
// bgm.coverImgUrl = '../../static/icon/fengziIcon.jpg'
|
||||
// this.setCoverImg('../../static/icon/x1.jpg')
|
||||
// bgm.stop()
|
||||
bgm.src = res.chapter.voices
|
||||
store.commit('setUserInfo',{'playIndex': bgm.playIndex})
|
||||
store.commit('setUserInfo',{'playingInfo':bgm.musicList[bgm.playIndex] })
|
||||
}else{
|
||||
bgm.playIndex = bgm.oldIndex
|
||||
console.log('地址异常报错后index:',bgm.playIndex)
|
||||
store.commit('setUserInfo',{'playIndex': bgm.playIndex})
|
||||
@@ -253,42 +289,29 @@ var music = {
|
||||
// store.commit('setUserInfo',{'playFlag': false})
|
||||
}
|
||||
|
||||
}
|
||||
console.log(res.bookCatalogue,'单章节信息')
|
||||
}
|
||||
}).catch((e)=>{
|
||||
console.log(e,'e')
|
||||
// bgm.pause()
|
||||
console.log('异常')
|
||||
// bgm.pause()
|
||||
bgm.playIndex = bgm.oldIndex
|
||||
// bgm.stop()
|
||||
// store.commit('setUserInfo',{'playFlag': false})
|
||||
if(e.errMsg.indexOf('未购买书籍') != -1){
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
cancelText: '暂不购买',
|
||||
confirmText:'立即购买',
|
||||
content: '抱歉!当前书籍未购买!',
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定');
|
||||
uni.navigateTo({
|
||||
url: '../bookShop/settlementBook?type=2&list=' + data.bookid
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
store.commit('setUserInfo',{'playFlag': false})
|
||||
if(bgm.interval){
|
||||
console.log('存在定时器,清空')
|
||||
clearInterval(bgm.interval)
|
||||
bgm.interval = null
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
},
|
||||
// 存储播放信息
|
||||
// 本地存储播放信息
|
||||
saveIndex(){
|
||||
console.log(bgm.playIndex,'存储得index')
|
||||
store.commit('setUserInfo',{'playIndex': bgm.playIndex})
|
||||
store.commit('setUserInfo',{'duration':bgm.duration})
|
||||
store.commit('setUserInfo',{'playTitle': bgm.musicList[bgm.playIndex].chapterName})
|
||||
store.commit('setUserInfo',{'fengImg': bgm.musicList[bgm.playIndex].images})
|
||||
store.commit('setUserInfo',{'playFlag': true})
|
||||
store.commit('setUserInfo',{'playTitle': bgm.musicList[bgm.playIndex].chapter})
|
||||
store.commit('setUserInfo',{'fengImg': bgm.musicList[bgm.playIndex].bookImage})
|
||||
|
||||
// store.commit('setUserInfo',{'playFlag': true})
|
||||
store.commit('setUserInfo',{'playingInfo': bgm.musicList[bgm.playIndex]})
|
||||
uni.setStorage({
|
||||
key: 'playingInfo',
|
||||
@@ -304,20 +327,23 @@ var music = {
|
||||
},
|
||||
// 存储播放进度(线上)
|
||||
saveRate(val){
|
||||
console.log(val,'要存储的播放信息',)
|
||||
console.log(val,'要存储的线上播放信息',)
|
||||
$http.post('book/listening/save', {
|
||||
'userId': store.state.userInfo.id,
|
||||
'bookId': val.bookid,
|
||||
'chapterId': val.chapterId,
|
||||
'chapterName': val.chapterName,
|
||||
'bookId': val.bookId,
|
||||
'chapterId': val.id,
|
||||
'chapterName': val.chapter,
|
||||
'precent': Math.ceil(bgm.currentTime),
|
||||
'loadAnimate':'none', // 请求加载动画
|
||||
})
|
||||
.then(res => {
|
||||
.then(res => {
|
||||
console.log(res,'线上存储进度')
|
||||
if(res.code == 0){
|
||||
console.log(res,'存储完成')
|
||||
}
|
||||
}).catch((e)=>{})
|
||||
}).catch((e)=>{
|
||||
console.log(e,'e')
|
||||
})
|
||||
},
|
||||
// 设置播放index
|
||||
setPlayIndex(opName){ // 切换音频
|
||||
@@ -376,10 +402,10 @@ var music = {
|
||||
}
|
||||
});
|
||||
bgm.htimes = 0
|
||||
bgm.oldIndex = bgm.playIndex
|
||||
bgm.oldIndex = bgm.playIndex
|
||||
bgm.playIndex = bgm.musicList.findIndex(function(info){
|
||||
// console.log(info,'info')
|
||||
if(item.chapterId == info.chapterId && item.bookid == info.bookid ){
|
||||
if(item.id == info.id && item.bookId == info.bookId ){
|
||||
return info;
|
||||
}
|
||||
})
|
||||
@@ -390,6 +416,11 @@ var music = {
|
||||
|
||||
// 关闭音频
|
||||
setCloseBgm(){
|
||||
if(bgm.interval){
|
||||
console.log('存在定时器,清空')
|
||||
clearInterval(bgm.interval)
|
||||
bgm.interval = null
|
||||
}
|
||||
bgm.stop()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user