diff --git a/root/NEUIKit/locale/zh-Hans.ts b/root/NEUIKit/locale/zh-Hans.ts index a2a8627..89e09ad 100644 --- a/root/NEUIKit/locale/zh-Hans.ts +++ b/root/NEUIKit/locale/zh-Hans.ts @@ -265,8 +265,8 @@ export default { callBusyText: '忙线未接听', callFailedText: '呼叫失败', wxAppFileCopyText: '已自动复制网址,请在手机浏览器里粘贴该网址', - shootText: '拍摄视频', - imgText:'相册图库', + shootText: '拍摄', + imgText:'相册', albumText: '相册视频', voiceCallText: '语音通话', videoCallText: '视频通话', diff --git a/root/NEUIKit/pages/Chat/message/message-input.vue b/root/NEUIKit/pages/Chat/message/message-input.vue index 93792ac..674c95e 100644 --- a/root/NEUIKit/pages/Chat/message/message-input.vue +++ b/root/NEUIKit/pages/Chat/message/message-input.vue @@ -64,7 +64,7 @@ - +
@@ -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.vue的keyboardheightchange事件中修改 // 在message-input.vue的keyboardheightchange事件中修改 @@ -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) }; diff --git a/root/NEUIKit/pages/Chat/message/message-list.vue b/root/NEUIKit/pages/Chat/message/message-list.vue index 65eafe7..878dd9d 100644 --- a/root/NEUIKit/pages/Chat/message/message-list.vue +++ b/root/NEUIKit/pages/Chat/message/message-list.vue @@ -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%'的情况 }