wewe
This commit is contained in:
parent
7db5eee419
commit
5240206f55
@ -39,7 +39,7 @@
|
||||
<V3Emoji @click-emoji="onEmojiSelect" :recent="true"></V3Emoji>
|
||||
</div>
|
||||
<el-input type="textarea" v-model="draft" placeholder="输入消息..." :rows="2" style="flex:1"
|
||||
@keydown="handleInputKeydown" />
|
||||
@keydown="handleInputKeydown" @paste="handlePaste" />
|
||||
</div>
|
||||
<!-- 发送按钮 -->
|
||||
<div class="send-button-container" style="margin-left: 12px;">
|
||||
@ -684,6 +684,46 @@ const handleImageChange = (e) => {
|
||||
e.target.value = ''
|
||||
}
|
||||
|
||||
// 处理粘贴发送图片
|
||||
const handlePaste = (e) => {
|
||||
try {
|
||||
const clipboard = e.clipboardData || window.clipboardData
|
||||
if (!clipboard) return
|
||||
const items = clipboard.items || []
|
||||
if (!items || items.length === 0) return
|
||||
|
||||
// 收集剪贴板中的图片文件
|
||||
const imageFiles = []
|
||||
for (let i = 0; i < items.length; i++) {
|
||||
const it = items[i]
|
||||
if (it && it.kind === 'file') {
|
||||
const file = it.getAsFile && it.getAsFile()
|
||||
if (file && file.type && file.type.startsWith('image/')) {
|
||||
imageFiles.push(file)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (imageFiles.length === 0) {
|
||||
// 没有图片,保持默认粘贴文本行为
|
||||
return
|
||||
}
|
||||
|
||||
// 阻止默认插入到文本框,走图片发送逻辑
|
||||
e.preventDefault()
|
||||
|
||||
// 如果有多张,只处理第一张并提示
|
||||
if (imageFiles.length > 1) {
|
||||
ElMessage({ type: 'info', message: '一次仅发送第一张图片' })
|
||||
}
|
||||
|
||||
// 使用现有上传发送流程
|
||||
uploadImageFile(imageFiles[0])
|
||||
} catch (err) {
|
||||
// 失败时不影响默认粘贴行为
|
||||
}
|
||||
}
|
||||
|
||||
// 拖拽事件处理
|
||||
const handleDragEnter = (e) => {
|
||||
e.preventDefault()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user