|
@@ -1,6 +1,10 @@
|
|
|
import { createStore } from "vuex";
|
|
|
import {ElMessage} from 'element-plus'
|
|
|
import {apiUserInfo} from '@/api/user.js'
|
|
|
+import {apiActivityAudioPlayRecordAdd,apiActivityAudioPlayRecordUpate} from '@/api/activity'
|
|
|
+
|
|
|
+let lastActivityAudioRecordId=0//上次新曾活动音频记录时的id
|
|
|
+
|
|
|
const token=localStorage.getItem('token')||''
|
|
|
let platform='web'
|
|
|
if(window.__wxjs_environment === 'miniprogram'){
|
|
@@ -35,6 +39,7 @@ export default createStore({
|
|
|
questionId:0,//问答社区的id
|
|
|
paused:true,//当前音频播放状态
|
|
|
show:false,//是否显示音频弹窗
|
|
|
+ audioCurrentTime:0,//音频当前播放的时间
|
|
|
},
|
|
|
|
|
|
activityItemStatus:{//活动详情中某个活动点击了会议提醒\报名 更新列表状态
|
|
@@ -75,6 +80,12 @@ export default createStore({
|
|
|
state.audioData.questionId=e.questionId||0
|
|
|
state.audioData.show=true
|
|
|
state.audioData.INS.play()
|
|
|
+ if(state.audioData.activityId!=0){
|
|
|
+ if(lastActivityAudioRecordId!=0){
|
|
|
+ handleActivityAudioRecordUpdate(state.audioData)
|
|
|
+ }
|
|
|
+ handleActivityAudioRecordAdd(state.audioData)
|
|
|
+ }
|
|
|
},
|
|
|
//切换音频
|
|
|
changeAudio(state,e){
|
|
@@ -82,17 +93,20 @@ export default createStore({
|
|
|
if(state.audioData.index===0){
|
|
|
ElMessage('当前为第一首')
|
|
|
}else{
|
|
|
+ handleActivityAudioRecordUpdate(state.audioData)
|
|
|
state.audioData.index--
|
|
|
}
|
|
|
}else if(e==='next'){//点击按钮切换下一首
|
|
|
if(state.audioData.index==state.audioData.list.length-1){
|
|
|
ElMessage('当前为最后一首')
|
|
|
}else{
|
|
|
+ handleActivityAudioRecordUpdate(state.audioData)
|
|
|
state.audioData.index++
|
|
|
}
|
|
|
}else if(e==='auto'){//自动播放切换下一首
|
|
|
if(state.audioData.index==state.audioData.list.length-1){
|
|
|
// ElMessage('当前为最后一首')
|
|
|
+ handleActivityAudioRecordUpdate(state.audioData)
|
|
|
state.audioData.list=[]
|
|
|
state.audioData.index=0
|
|
|
state.audioData.activityId=0
|
|
@@ -103,12 +117,14 @@ export default createStore({
|
|
|
state.audioData.show=false
|
|
|
state.audioData.paused=false
|
|
|
}else{
|
|
|
+ handleActivityAudioRecordUpdate(state.audioData)
|
|
|
state.audioData.index++
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
// 关闭音频
|
|
|
closeAudio(state,e){
|
|
|
+ handleActivityAudioRecordUpdate(state.audioData)
|
|
|
state.audioData.list=[]
|
|
|
state.audioData.index=0
|
|
|
state.audioData.activityId=0
|
|
@@ -118,6 +134,7 @@ export default createStore({
|
|
|
state.audioData.INS=null
|
|
|
state.audioData.show=false
|
|
|
state.audioData.paused=false
|
|
|
+
|
|
|
},
|
|
|
//音频状态切换
|
|
|
audioStatusChange(state,e){
|
|
@@ -130,8 +147,13 @@ export default createStore({
|
|
|
},
|
|
|
//关闭音频弹窗
|
|
|
closeAudioPop(state){
|
|
|
+ handleActivityAudioRecordUpdate(state.audioData)
|
|
|
state.audioData.show=false
|
|
|
},
|
|
|
+ //更新音频当前播放时间
|
|
|
+ updateAudioTime(state,e){
|
|
|
+ state.audioData.audioCurrentTime=e
|
|
|
+ },
|
|
|
|
|
|
// 更新活动列表某项状态
|
|
|
updateActivityStatus(state,e){
|
|
@@ -188,4 +210,32 @@ export default createStore({
|
|
|
}
|
|
|
},
|
|
|
modules: {},
|
|
|
-});
|
|
|
+});
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//新增活动音频播放记录
|
|
|
+function handleActivityAudioRecordAdd(params) {
|
|
|
+ apiActivityAudioPlayRecordAdd({
|
|
|
+ primary_id:Number(params.list[params.index].activity_voice_id),
|
|
|
+ extend_id:Number(params.list[params.index].activityId),
|
|
|
+ from_page:window.location.pathname=='/activity/list'?'活动列表':'活动详情'
|
|
|
+ }).then(res=>{
|
|
|
+ if(res.code===200){
|
|
|
+ console.log('新增活动音频播放记录成功');
|
|
|
+ lastActivityAudioRecordId=res.data.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+//更新活动音频播放记录
|
|
|
+function handleActivityAudioRecordUpdate(params) {
|
|
|
+ apiActivityAudioPlayRecordUpate({
|
|
|
+ id:Number(lastActivityAudioRecordId),
|
|
|
+ stop_seconds:parseInt(params.audioCurrentTime)
|
|
|
+ }).then(res=>{
|
|
|
+ if(res.code===200){
|
|
|
+ console.log('更新音频记录成功');
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|