Merge branch 'develop' of http://25.13.9.101:9000/K17_AITS/tra-app into develop
This commit is contained in:
@@ -61,6 +61,11 @@
|
||||
import {
|
||||
useStorageStore
|
||||
} from '@/store/storage.js';
|
||||
import {
|
||||
onHide,
|
||||
onShow
|
||||
} from '@dcloudio/uni-app';
|
||||
|
||||
|
||||
const storageStore = useStorageStore();
|
||||
const proxy = getCurrentInstance();
|
||||
@@ -304,15 +309,13 @@
|
||||
if (IsAndEnv) {
|
||||
let _recordPerm = await permission.requestAndroidPermission('android.permission.RECORD_AUDIO');
|
||||
if (_recordPerm !== 1) {
|
||||
isGettingPermission.value = true
|
||||
common.show('提示信息', '当前页面需要使用的录音权限,是否前往开启?', true, '取消', '确定').then((res) => {
|
||||
if (res) {
|
||||
isGettingPermission.value = true
|
||||
hideOverlayTalking()
|
||||
// 去开启权限
|
||||
permission.gotoAppPermissionSetting();
|
||||
} else {
|
||||
// 取消
|
||||
hideOverlayTalking()
|
||||
common.navigateBack();
|
||||
}
|
||||
});
|
||||
@@ -324,15 +327,13 @@
|
||||
let _recordPerm = uni.getAppAuthorizeSetting();
|
||||
let _state = _recordPerm.microphoneAuthorized;
|
||||
if (_state === 'denied') {
|
||||
isGettingPermission.value = true
|
||||
common.show('提示信息', '当前页面需要使用的录音权限,是否前往开启?', true, '取消', '确定').then((res) => {
|
||||
if (res) {
|
||||
isGettingPermission.value = true
|
||||
hideOverlayTalking()
|
||||
// 去开启权限
|
||||
uni.openAppAuthorizeSetting();
|
||||
} else {
|
||||
// 取消
|
||||
hideOverlayTalking()
|
||||
common.navigateBack();
|
||||
}
|
||||
});
|
||||
@@ -351,6 +352,11 @@
|
||||
const isTalking = ref(false);
|
||||
const showOverlayTalking = (obj) => {
|
||||
if (showTalkingModel.value) return;
|
||||
if (isGettingPermission.value) {
|
||||
stopRecord()
|
||||
isGettingPermission.value = false
|
||||
return
|
||||
}
|
||||
if (isLoadingState.value) {
|
||||
uni.showToast({
|
||||
title: props.loadingText,
|
||||
@@ -449,6 +455,9 @@
|
||||
keyboardIsShow.value = !keyboardIsShow.value;
|
||||
answerValue.value = '';
|
||||
};
|
||||
onHide(()=>{
|
||||
isGettingPermission.value = true
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
|
||||
<view class="left-items">
|
||||
<view class="sparring-item-box" v-for="item in leftsparringList">
|
||||
<SparringItem :itemInfo="item" :activeTag="[]" @clickItem="toSparringDetail(item)" />
|
||||
<SparringItem :itemInfo="item" :activeTag="[]" @clickItem="toSparringDetail(item)" :isPreview="true"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right-items">
|
||||
<view class="sparring-item-box" v-for="item in rightsparringList">
|
||||
<SparringItem :itemInfo="item" :activeTag="[]" @clickItem="toSparringDetail(item)" />
|
||||
<SparringItem :itemInfo="item" :activeTag="[]" @clickItem="toSparringDetail(item)" :isPreview="true"/>
|
||||
</view>
|
||||
</view>
|
||||
</z-paging>
|
||||
@@ -105,12 +105,14 @@
|
||||
width: 50%;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
.right-items {
|
||||
width: 50%;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
.sparring-item-box {
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="item-publish">截止时间:{{itemInfo.limitTyp === '01'?'不限制':itemInfo.endTm}}</view>
|
||||
<view class="item-num">陪练次数:{{itemInfo.practiceTimes }} 人次</view>
|
||||
<view class="item-publish" v-if="!isPreview">截止时间:{{itemInfo.limitTyp === '01'?'不限制':itemInfo.endTm}}</view>
|
||||
<view class="item-num" v-if="!isPreview">陪练次数:{{itemInfo.practiceTimes }} 人次</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -46,6 +46,10 @@
|
||||
activeTag: {
|
||||
default: () => [],
|
||||
type: Array
|
||||
},
|
||||
isPreview:{
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@@ -133,7 +137,6 @@
|
||||
}
|
||||
|
||||
.item-tags {
|
||||
margin-bottom: 14rpx;
|
||||
padding: 0 20rpx;
|
||||
box-sizing: border-box;
|
||||
|
||||
@@ -180,7 +183,7 @@
|
||||
}
|
||||
|
||||
.item-publish {
|
||||
margin-top: 0rpx;
|
||||
margin-top: 14rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,11 @@
|
||||
import {
|
||||
useStorageStore
|
||||
} from '@/store/storage.js';
|
||||
|
||||
import {
|
||||
onHide,
|
||||
onShow
|
||||
} from '@dcloudio/uni-app';
|
||||
|
||||
const storageStore = useStorageStore();
|
||||
const proxy = getCurrentInstance();
|
||||
const emit = defineEmits(['uploadVoice', 'startRecord']);
|
||||
@@ -144,6 +148,10 @@
|
||||
}
|
||||
});
|
||||
unref(recordObjCom).onStart(() => {
|
||||
if(isGettingPermission.value){
|
||||
stopRecord();
|
||||
return
|
||||
}
|
||||
startFlag.value = 1;
|
||||
setTimeout(() => {
|
||||
startFlag.value = 2;
|
||||
@@ -229,6 +237,7 @@
|
||||
// #ifdef APP-PLUS
|
||||
if (!hasPermission.value) {
|
||||
let _res = await getPermission()
|
||||
console.log(_res,11111111)
|
||||
if (_res) {
|
||||
hasPermission.value = true
|
||||
showOverlayTalking(obj);
|
||||
@@ -242,18 +251,18 @@
|
||||
// #ifdef APP-PLUS
|
||||
// 安卓端
|
||||
if (IsAndEnv) {
|
||||
isGettingPermission.value = true
|
||||
let _recordPerm = await permission.requestAndroidPermission('android.permission.RECORD_AUDIO');
|
||||
if (_recordPerm !== 1) {
|
||||
showTalkingModel.value = false;
|
||||
isGettingPermission.value = true
|
||||
common.show('提示信息', '当前页面需要使用的录音权限,是否前往开启?', true, '取消', '确定').then((res) => {
|
||||
if (res) {
|
||||
isGettingPermission.value = true
|
||||
hideOverlayTalking()
|
||||
// 去开启权限
|
||||
permission.gotoAppPermissionSetting();
|
||||
} else {
|
||||
// 取消
|
||||
common.navigateBack();
|
||||
hideOverlayTalking()
|
||||
}
|
||||
});
|
||||
return false
|
||||
@@ -264,16 +273,14 @@
|
||||
let _recordPerm = uni.getAppAuthorizeSetting();
|
||||
let _state = _recordPerm.microphoneAuthorized;
|
||||
if (_state === 'denied') {
|
||||
isGettingPermission.value = true
|
||||
common.show('提示信息', '当前页面需要使用的录音权限,是否前往开启?', true, '取消', '确定').then((res) => {
|
||||
if (res) {
|
||||
isGettingPermission.value = true
|
||||
hideOverlayTalking()
|
||||
// 去开启权限
|
||||
uni.openAppAuthorizeSetting();
|
||||
} else {
|
||||
// 取消
|
||||
common.navigateBack();
|
||||
hideOverlayTalking()
|
||||
}
|
||||
});
|
||||
return false
|
||||
@@ -291,6 +298,11 @@
|
||||
const isTalking = ref(false);
|
||||
const showOverlayTalking = (obj) => {
|
||||
if (showTalkingModel.value) return;
|
||||
if (isGettingPermission.value) {
|
||||
stopRecord()
|
||||
isGettingPermission.value = false
|
||||
return
|
||||
}
|
||||
if (isLoadingState.value) {
|
||||
uni.showToast({
|
||||
title: props.loadingText,
|
||||
@@ -344,6 +356,12 @@
|
||||
}
|
||||
}
|
||||
};
|
||||
onShow(()=>{
|
||||
// stopRecord()
|
||||
})
|
||||
onHide(()=>{
|
||||
isGettingPermission.value = true
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
</view>
|
||||
<view class="top-box">
|
||||
<view class="top-title">
|
||||
<view class="back-icon" @click="common.navigateBack()"></view>
|
||||
<view class="back-icon" @click="goBack()"></view>
|
||||
{{ '陪练报告' }}
|
||||
<view class="feedback-icon" @click="feedbackNow"></view>
|
||||
<view class="top-desc">内容由AI生成</view>
|
||||
@@ -62,14 +62,14 @@
|
||||
<view class="static-score">{{ totalScore }}</view>
|
||||
<view class="static-desc" v-if="false">{{'朋友,你挺能说违禁词啊!'}}</view>
|
||||
<view class="static-desc" v-if="false">以下均为违禁词:<text style="color: red;">{{'违禁词'}}</text></view>
|
||||
<view class="static-desc">{{!isPass?'你这个得分,不容易的!':'恭喜阁下过关斩将,顺利通关!'}}</view>
|
||||
<view class="static-desc">{{!isPass?'你这个得分,不容易的!':'恭喜你过关斩将,顺利通关!'}}</view>
|
||||
|
||||
<view class="static-charts">
|
||||
<ChartThree v-if="length === 3" fromType="tra" :dataList="evalDimens" />
|
||||
<ChartFour v-if="length === 4" fromType="tra" :dataList="evalDimens" />
|
||||
<ChartFive v-if="length === 5" fromType="tra" :dataList="evalDimens" />
|
||||
<ChartSix v-if="length === 6" fromType="tra" :dataList="evalDimens" />
|
||||
<ChartSeven v-if="length === 7" fromType="tra" :dataList="evalDimens" />
|
||||
<ChartThree v-if="evalDimens.length === 3" fromType="tra" :dataList="evalDimens" />
|
||||
<ChartFour v-if="evalDimens.length === 4" fromType="tra" :dataList="evalDimens" />
|
||||
<ChartFive v-if="evalDimens.length === 5" fromType="tra" :dataList="evalDimens" />
|
||||
<ChartSix v-if="evalDimens.length === 6" fromType="tra" :dataList="evalDimens" />
|
||||
<ChartSeven v-if="evalDimens.length === 7" fromType="tra" :dataList="evalDimens" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -107,7 +107,6 @@
|
||||
const feedbackRef = ref()
|
||||
const roleInfo = ref({})
|
||||
const showAllTalk = ref(false)
|
||||
const length = ref(6)
|
||||
const traInfo = ref({})
|
||||
const traTm = ref('')
|
||||
const activeVoiceTalkingItemId = ref('')
|
||||
@@ -258,12 +257,21 @@
|
||||
return _str
|
||||
}
|
||||
const isPreview = ref(false)
|
||||
const isOver = ref(false)
|
||||
const goBack = () => {
|
||||
if(isOver.value){
|
||||
common.navigateBack(3)
|
||||
}else{
|
||||
common.navigateBack()
|
||||
}
|
||||
}
|
||||
onLoad((params) => {
|
||||
traId.value = params.traId;
|
||||
execId.value = params.execId
|
||||
talkingType.value = params.type;
|
||||
showLoading.value = true
|
||||
isPreview.value = params.isPreview === '1'
|
||||
isOver.value = params.isOver === '1'
|
||||
getData()
|
||||
});
|
||||
onMounted(() => {})
|
||||
|
||||
@@ -351,9 +351,7 @@
|
||||
return;
|
||||
}
|
||||
if (commond === 'ASK-ANSWER') {
|
||||
console.log('ASK-ANSWER',body);
|
||||
if (body.event === 'start') {
|
||||
console.log('开始回答!');
|
||||
answerIsOver.value = false;
|
||||
answerText.value = '';
|
||||
talkingList.value.pop();
|
||||
@@ -371,13 +369,10 @@
|
||||
} else if (body.event === 'token') {
|
||||
answerIsOver.value = false;
|
||||
answerText.value += body.data;
|
||||
console.log(answerText.value)
|
||||
talkingList.value[talkingList.value.length - 1].talkingText = answerText.value;
|
||||
} else if (body.event === 'end') {
|
||||
console.log('完成回答!');
|
||||
answerIsOver.value = true;
|
||||
} else if (body.event === 'recordAi') {
|
||||
console.log('推送声音id!');
|
||||
talkingList.value[talkingList.value.length - 1].execLogId = body.execLogId
|
||||
}
|
||||
scrollToBottomNow();
|
||||
@@ -420,7 +415,7 @@
|
||||
socketStore?.closeSocket();
|
||||
changePlayItemId('')
|
||||
pointAndBadgesRun(talkingType.value === '01'? '07': '08', null, ()=>{
|
||||
common.navigateTo('/pages/sparring/result?traId=' + traId.value + '&execId=' + execId.value + '&type=' + talkingType.value + '&isPreview=' + (isPreview.value ?'1':''))
|
||||
common.navigateTo('/pages/sparring/result?isOver=1&traId=' + traId.value + '&execId=' + execId.value + '&type=' + talkingType.value + '&isPreview=' + (isPreview.value ?'1':''))
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user