fix: bug

This commit is contained in:
杨航
2025-11-24 17:31:02 +08:00
parent c4837e8e87
commit deead01da6
4 changed files with 45 additions and 24 deletions
+15 -6
View File
@@ -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>
+25 -7
View File
@@ -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>
+5 -6
View File
@@ -65,11 +65,11 @@
<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('')
-5
View File
@@ -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();