Merge branch 'develop' of http://25.13.9.101:9000/K17_AITS/tra-app into develop

This commit is contained in:
田岩
2025-12-09 13:26:42 +08:00
4 changed files with 66 additions and 31 deletions
+32 -11
View File
@@ -13,7 +13,7 @@
</view>
</view>
<view class="btns-cont">
<view class="play-btn" >
<view class="play-btn">
<image class="icon" v-show="!(!voiceLoading&&(props.activeVoiceId === dataInfo.id))" @click.stop="playVoice"
src="@/static/images/course/play-blue.png" style="width: 100%;height: 100%;"></image>
<image class="icon" v-show="!voiceLoading&&(props.activeVoiceId === dataInfo.id)" @click.stop="pauseVoice"
@@ -84,6 +84,20 @@
onUnload(() => {
pauseVoice()
})
// 重播
const restartPlay = () => {
if (itemVoice.value) {
emit('changePlay', '');
emit('changePlay', unref(dataInfo)?.id);
setTimeout(() => {
talkUserVoiceObj.value.src = itemVoice.value;
talkUserVoiceObj.value.seek(0);
talkUserVoiceObj.value.play();
}, 100);
} else {
playVoice();
}
};
const pauseVoice = () => {
if (!talkUserVoiceObj.value) return
talkUserVoiceObj.value.pause()
@@ -92,7 +106,13 @@
}
const playVoice = () => {
emit('changePlay', unref(dataInfo)?.id)
if(isTesting.value){
talkUserVoiceObj.value.volume = 1
restartPlay()
return
}
if (talkUserVoiceObj.value && talkUserVoiceObj.value.src) {
talkUserVoiceObj.value.volume = 1
setTimeout(() => {
talkUserVoiceObj.value.src = itemVoice.value
talkUserVoiceObj.value.play()
@@ -101,6 +121,7 @@
return
} else {
talkUserVoiceObj.value.src = ''
talkUserVoiceObj.value.volume = 1
if (unref(dataInfo).talkingVoice) {
setTimeout(() => {
talkUserVoiceObj.value.src = itemVoice.value
@@ -140,12 +161,12 @@
talkUserVoiceObj.value.sessionCategory = 'soloAmbient'
//#ifdef APP-PLUS
// 安卓端 须播放一次,不然再次播放会没有声音
// if (IsAndEnv) {
// isTesting.value = true
// talkUserVoiceObj.value.volume = 0
// talkUserVoiceObj.value.play()
// // talkUserVoiceObj.value.pause()
// }
if (IsAndEnv) {
isTesting.value = true
talkUserVoiceObj.value.volume = 0
talkUserVoiceObj.value.play()
// talkUserVoiceObj.value.pause()
}
// #endif
// setTimeout(() => {
// setVoiceTime(0)
@@ -153,16 +174,16 @@
}
const isTesting = ref(false)
const setVoiceTime = (sum) => {
sum += 1
let _sum = sum + 1
if (Math.ceil(talkUserVoiceObj.value.duration) > 0) {
voiceTime.value = (Math.ceil(talkUserVoiceObj.value.duration) || 1) + 's'
} else {
if (sum === 20) {
voiceTime.value = (props.dataInfo.voiceTime|| 0) + 's'
if (_sum === 25) {
voiceTime.value = (props.dataInfo.voiceTime|| 1) + 's'
return
}
setTimeout(() => {
setVoiceTime(sum)
setVoiceTime(_sum)
}, 200)
}
}
+7 -5
View File
@@ -63,14 +63,13 @@
@click="previewFile(item)"> {{ item.dataName }}.{{ item.dataSuffix }} </view>
</view>
</view>
<view class="body-bottom">
<!-- v-if="isPreview" -->
<!-- <view class="body-bottom-btn" @click="toChooseRole('preview')">预览陪练</view>
</view>
<view class="body-bottom" v-else> -->
<view class="body-bottom" v-if="detailInfo.traInterTyp === '01'">
<view class="body-bottom-btn" @click="toChooseRole('01')">去练习</view>
<view class="body-bottom-btn" @click="toChooseRole('02')">去考试</view>
</view>
<view class="body-bottom" v-else>
<view class="body-bottom-btn no-margin" @click="toChooseRole('preview')">去考试</view>
</view>
</view>
</scroll-view>
</view>
@@ -362,6 +361,9 @@
margin-left: 36rpx;
background: #06f;
color: #fff;
&.no-margin{
margin-left: 0;
}
}
}
}
+24 -12
View File
@@ -69,7 +69,12 @@
<!-- sceneDesc -->
{{ detailInfo.sceneDesc }}
</view>
<view class="talking-box">
<view class="talking-box" v-if="detailInfo.traInterTyp !== '01'">
<view class="tip-text">
-请点击下方按钮开始{{ detailInfo.traInterTypDesc }}
</view>
</view>
<view class="talking-box" v-else>
<TalkingItem
v-for="(item, index) in talkingList"
:talkingType="item.type"
@@ -313,20 +318,22 @@
if (watchFlag.value === 1 || showModelComfirm.value) return;
if (reconcatNum.value === 5) {
common.msg('系统网络异常,请稍后再试!');
common.redirectTo(`/pages/index/dialog`);
return;
}
showModelComfirm.value = true;
common
.show('提示信息', '网络环境不稳定,请重试!', false, '', '确认')
.then((res) => {
overNow(() => {
reconcatNum.value += 1;
common.redirectTo(`/pages/index/dialog`);
});
})
.finally(() => {
showModelComfirm.value = false;
});
reconcatNum.value += 1;
// common
// .show('提示信息', '网络环境不稳定,请重试!', false, '', '确认')
// .then((res) => {
// overNow(() => {
// reconcatNum.value += 1;
// common.redirectTo(`/pages/index/dialog`);
// });
// })
// .finally(() => {
// showModelComfirm.value = false;
// });
});
unref(SocketObj).on('message', (res) => {
const { rtnCode, body, commond } = JSON.parse(res.data);
@@ -874,6 +881,11 @@
.talking-box {
padding-top: 24rpx;
.tip-text{
color: #7295cb;
text-align: center;
font-size: 29rpx;
}
}
}