wangxia 3 months ago
commit 43a6e02881

@ -265,8 +265,8 @@ export default {
callBusyText: '忙线未接听',
callFailedText: '呼叫失败',
wxAppFileCopyText: '已自动复制网址,请在手机浏览器里粘贴该网址',
shootText: '拍摄视频',
imgText:'相册图库',
shootText: '拍摄',
imgText:'相册',
albumText: '相册视频',
voiceCallText: '语音通话',
videoCallText: '视频通话',

@ -64,7 +64,7 @@
</div>
<!-- {{ssff}}键盘高度{{keyHeight}} 输入框距离底部距离{{writeStyle}}屏幕高度{{screenHeight}}顶部聊天区域高度{{msgKeyHeight}} -->
<input v-show="!showEmojiInput" :focus="isFocus" class="msg-input-input g_flex_1" :maxlength="-1" :placeholder="isTeamMute ? t('teamMutePlaceholder') : t('chatInputPlaceHolder')" v-model="inputText" type="text" :disabled="isTeamMute" :confirm-hold="true" cursor-spacing="20" :adjust-position="pushUp" confirm-type="send" @keyboardheightchange="keyboardheightchange" @confirm="handleSendTextMsg" @blur="handleInputBlur" @input="handleInput" id="msg-input" />
<input v-show="!showEmojiInput" :focus="isFocus" class="msg-input-input g_flex_1" :maxlength="-1" :placeholder="isTeamMute ? t('teamMutePlaceholder') : t('chatInputPlaceHolder')" v-model="inputText" type="text" :disabled="isTeamMute" :confirm-hold="true" cursor-spacing="20" :adjust-position="pushUp" confirm-type="send" @keyboardheightchange="keyboardheightchange" @focus="handleInputFocus" @confirm="handleSendTextMsg" @blur="handleInputBlur" @input="handleInput" id="msg-input" />
</div>
<div class="msg-input-button" @tap="(event) => handleSendJob()">
<div class="iconfont icon-5gongdanguanli g_c_6 g_fs_24"></div>
@ -370,7 +370,39 @@ const keyHeight = ref(350);
const msgKeyHeight = ref("100%");
const ssff = ref(uni.getWindowInfo().safeArea.top);
console.log("安全域高度安全域高度安全域高度安全域高度安全域高度安全域高度", ssff);
const handleInputFocus = (e) => {
emojiVisible.value = false;
extVisible.value = false;
audioPanelVisible.value = false;
sendMoreVisible.value = false;
const systemInfo = uni.getSystemInfoSync();
const availableHeight = systemInfo.windowHeight - e.detail.height - ssff.value;
setTimeout(()=>{
console.log("获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点获取焦点");
uni.$emit("msgKeyHeight", availableHeight); //
writeStyle.value = `bottom: calc(${e.detail.height}px - env(safe-area-inset-bottom))`;
uni.$emit(events.ON_SCROLL_BOTTOM);
},80)
// if (e.detail.height === 0) {
// writeStyle.value = "bottom: 0";
// uni.$emit("msgKeyHeight", "100%"); //
// } else {
// //
// emojiVisible.value = false;
// extVisible.value = false;
// audioPanelVisible.value = false;
// sendMoreVisible.value = false;
// const systemInfo = uni.getSystemInfoSync();
// const availableHeight = systemInfo.windowHeight - e.detail.height - ssff.value;
// uni.$emit("msgKeyHeight", availableHeight); //
// writeStyle.value = `bottom: calc(${e.detail.height}px - env(safe-area-inset-bottom))`;
// // let safeBottom = 0;
// }
}
// message-input.vuekeyboardheightchange
// message-input.vuekeyboardheightchange
@ -384,70 +416,32 @@ const keyboardheightchange = (e) => {
uni.$emit("msgKeyHeight", "100%"); //
} else {
//
console.log("触发输入框触发输入框触发输入框触发输入框触发输入框触发输入框触发输入框触发输入框");
emojiVisible.value = false;
extVisible.value = false;
audioPanelVisible.value = false;
sendMoreVisible.value = false;
const systemInfo = uni.getSystemInfoSync();
// let safeBottom = 0;
// // #ifdef MP-WEIXIN
// if (systemInfo.safeAreaInsets && systemInfo.safeAreaInsets.bottom) {
// safeBottom = systemInfo.safeAreaInsets.bottom;
// }
// // #endif
// // #ifdef APP-PLUS
// if (systemInfo.safeAreaInsets && systemInfo.safeAreaInsets.bottom) {
// safeBottom = systemInfo.safeAreaInsets.bottom;
// }
// // #endif
// //
// // #ifdef MP-WEIXIN
// if (systemInfo.platform === 'ios') {
// const availableHeight = systemInfo.windowHeight - e.detail.height - ssff.value;
// uni.$emit('msgKeyHeight', availableHeight); //
// }else{
// const availableHeight = systemInfo.windowHeight - e.detail.height - ssff.value;
// uni.$emit('msgKeyHeight', availableHeight); //
// }
const availableHeight = systemInfo.windowHeight - e.detail.height - ssff.value;
uni.$emit("msgKeyHeight", availableHeight); //
writeStyle.value = `bottom: calc(${e.detail.height}px - env(safe-area-inset-bottom))`;
// #endif
// #ifdef APP-PLUS
//
let availableHeight, bottomValue;
if (systemInfo.platform === "ios") {
//
availableHeight = systemInfo.windowHeight - e.detail.height - safeBottom;
bottomValue = e.detail.height - safeBottom - 34;
} else {
//
availableHeight = systemInfo.windowHeight - e.detail.height - safeBottom - 34;
bottomValue = e.detail.height - safeBottom;
}
uni.$emit("msgKeyHeight", availableHeight); //
writeStyle.value = `bottom: ${bottomValue}px`;
// #endif
}
setTimeout(()=>{
uni.$emit(events.ON_SCROLL_BOTTOM);
},80)
};
const handleInputBlur = () => {
isFocus.value = false;
uni.$emit("msgKeyHeight", "100%");
};
// const handleInputBlur = () => {
// isFocus.value = false;
// uni.$emit("msgKeyHeight", "100%");
// };
//
const scrollBottom = () => {
if (isAndroidApp || isWxApp || isIosApp) {
setTimeout(() => {
uni.$emit(events.ON_SCROLL_BOTTOM);
}, 300);
}, 80);
} else {
uni.$emit(events.ON_SCROLL_BOTTOM);
}
@ -574,11 +568,11 @@ const handleEmojiVisible = () => {
uni.$emit(events.KeyboardEvent, 0);
}
uni.$emit(events.ON_SCROLL_BOTTOM);
}, 100);
}, 80);
};
watch(sendMoreVisible, (val) => {
if (val) {
uni.$emit("msgKeyHeight", uni.getSystemInfoSync().windowHeight - 320); //
uni.$emit("msgKeyHeight", uni.getSystemInfoSync().windowHeight - 230 - ssff.value); //
} else {
uni.$emit("msgKeyHeight", "100%"); //
}
@ -590,12 +584,17 @@ const handleSendMoreVisible = () => {
emojiVisible.value = false;
sendMoreVisible.value = !sendMoreVisible.value;
if (sendMoreVisible.value) {
uni.$emit(events.KeyboardEvent, 230);
} else {
uni.$emit(events.KeyboardEvent, 0);
}
uni.$emit(events.ON_SCROLL_BOTTOM);
setTimeout(()=>{
if (sendMoreVisible.value) {
// uni.$emit(events.KeyboardEvent, 230);
uni.$emit("msgKeyHeight", uni.getSystemInfoSync().windowHeight - 230 - ssff.value); //
} else {
// uni.$emit(events.KeyboardEvent, 0);
uni.$emit("msgKeyHeight", '100%'); //
}
uni.$emit(events.ON_SCROLL_BOTTOM);
},80)
// }, 300)
};

@ -141,7 +141,7 @@
const screenHeight2 = ref('')
const isWeapp = ref(true)
const ssff = ref(uni.getWindowInfo().safeArea.top);
onMounted(() => {
@ -151,7 +151,7 @@
screenHeight1.value = res;
// 100%
if (typeof res === 'number') {
msgKeyHeight.value = `${res - 34}px`;
msgKeyHeight.value = `${res - ssff.value}px`;
} else {
msgKeyHeight.value = res; // '100%'
}

Loading…
Cancel
Save