新增语音输入功能权限校验及未授权处理;正式环境开放2个账号用于测试

This commit is contained in:
wangyifeng 2025-06-03 15:30:33 +08:00
parent 3719c162c3
commit 079db90021
3 changed files with 64 additions and 26 deletions

11
env/.env.test vendored
View File

@ -4,9 +4,16 @@ NODE_ENV = 'test'
VITE_SHOW_CONSOLE = true
# 是否开启sourcemap
VITE_SHOW_SOURCEMAP = true
# baseUrl
# # baseUrl
VITE_BASEURL = 'http://172.16.100.93:8503'
#VITE_SOCKET_API
# #VITE_SOCKET_API
VITE_SOCKET_API = 'ws://172.16.100.93:8504'
# baseUrl
# VITE_BASEURL = 'http://192.168.88.21:9503'
#VITE_SOCKET_API
# VITE_SOCKET_API = 'ws://192.168.88.21:9504'
# EPRAPI baseUrl
VITE_EPR_BASEURL = 'http://114.218.158.24:9020'

View File

@ -219,7 +219,14 @@
</div> -->
</div>
<div style="display: flex;" :class="item.user_id === talkParams.uid?'justify-end':'justify-start'">
<div
style="display: flex;"
:class="
item.user_id === talkParams.uid
? 'justify-end'
: 'justify-start'
"
>
<div class="talk-tools voice-content" v-if="item.voiceContent">
<span>{{ item.voiceContent }}</span>
</div>
@ -290,13 +297,17 @@
<div
class="pt-[16rpx] ml-[32rpx] mr-[32rpx] flex items-start justify-between"
>
<!-- <tm-image
<tm-image
:width="52"
:height="52"
style="margin: 10rpx 10rpx 0 0 "
style="margin: 10rpx 10rpx 0 0;"
:src="state.isUseSpeech ? keyboardIcon : microphoneIcon"
@click="changeEditorMode"
></tm-image> -->
v-if="
userStore.mobile === '13580848136' ||
userStore.mobile === '18100591363'
"
></tm-image>
<div class="flex-1 quillBox" style="">
<QuillEditor
ref="editor"
@ -948,7 +959,7 @@ const handleHidePanel = () => {
///
const changeEditorMode = () => {
state.value.isUseSpeech = !state.value.isUseSpeech
if(state.value.isUseSpeech){
if (state.value.isUseSpeech) {
//
state.value.quoteInfo = null
}
@ -1449,7 +1460,7 @@ const multipleChoose = (item) => {
const actionCite = (item) => {
console.log('引用')
if(state.value.isUseSpeech){
if (state.value.isUseSpeech) {
state.value.isUseSpeech = false
}
state.value.quoteInfo = item

View File

@ -105,7 +105,11 @@
src="@/static/image/record/chat-voice-cancel-blue.png"
></image>
<text v-if="recording" class="font-36 font-regular"></text>
<text v-if="!recording" class="font-36 font-regular" style="margin:20rpx 0 0;">
<text
v-if="!recording"
class="font-36 font-regular"
style="margin: 20rpx 0 0;"
>
{{ $t('release_hand_to_cancel') }}
</text>
</view>
@ -271,13 +275,14 @@ export default {
startTouchData: {},
popupHeight: '0px', //
recording: true, //
recordPopupShow: false,//
recordPopupShow: false, //
recordTimeout: null, //
recordAnimationAreaCancelBg: recordCancelBg, //
permissionInfo: '', //
nearTimeLimit: false, //
autoStopRecordCountDown: 0, //
autoStopRecordInterval: null, //
permisionState: false, //
}
},
mounted() {
@ -330,12 +335,32 @@ export default {
upx2px(upx) {
return uni.upx2px(upx) + 'px'
},
handleAppMicro() {
handleAppMicro(permissionStatus) {
let that = this
setTimeout(function () {
that.$refs.requestPer.hideCustomPermission()
}, 1000)
that.continueAppMicro()
// setTimeout(function () {
// that.$refs.requestPer.hideCustomPermission()
// }, 1000)
if (Number(permissionStatus) === 1) {
that.continueAppMicro()
} else if (Number(permissionStatus) === -1) {
uni.showModal({
title: '提示',
content: '检测到您还未授权麦克风哦',
showCancel: true,
confirmText: '去授权',
cancelText: '保持拒绝',
success: ({ confirm, cancel }) => {
if (confirm) {
let OAWebView = plus.webview.all()
OAWebView.forEach((webview, index) => {
if (webview.id === 'webviewId1') {
webview.evalJS(`handleRequestAndroidPermission('settings')`)
}
})
}
},
})
}
},
handleRequestPer(permissionInfo, permissionID) {
console.log(permissionInfo)
@ -365,8 +390,6 @@ export default {
if (isUserNotAllow) {
//
//
} else {
message.error('似乎没检测到您的麦克风哦')
}
console.error('请求录音权限失败:' + msg)
},
@ -410,14 +433,11 @@ export default {
// #endif
// #ifdef H5
if (typeof plus !== 'undefined') {
webUni.postMessage({
data: {
action: 'handleRequestAndroidPermission',
params: {
type: 'micro',
key: that.field,
},
},
let OAWebView = plus.webview.all()
OAWebView.forEach((webview, index) => {
if (webview.id === 'webviewId1') {
webview.evalJS(`handleRequestAndroidPermission('micro')`)
}
})
} else {
that.continueAppMicro()
@ -622,7 +642,7 @@ export default {
font-weight: 500;
color: #1a1a1a;
box-sizing: border-box;
text{
text {
font-size: 30rpx;
font-weight: 600;
line-height: 1;