diff --git a/app/DataBase/output_pc.py b/app/DataBase/output_pc.py index 60275734..0fe28a94 100644 --- a/app/DataBase/output_pc.py +++ b/app/DataBase/output_pc.py @@ -298,6 +298,7 @@ def audio(self, doc, message): modify_audio_metadata(audio_path, displayname) os.utime(audio_path, (timestamp, timestamp)) audio_path = audio_path.replace('\\', '/') + audio_path = "./voice/" + os.path.basename(audio_path) voice_to_text = escape_js_and_html(media_msg_db.get_audio_text(str_content)) except: return @@ -464,7 +465,6 @@ def video(self, doc, message): image_path = hard_link_db.get_video(str_content, BytesExtra, thumb=True) if video_path is None and image_path is not None: image_path = path.get_relative_path(image_path, base_path=f'/data/聊天记录/{self.contact.remark}/image') - image_path = image_path try: # todo 网络图片问题 print(origin_docx_path + image_path[1:]) @@ -1140,9 +1140,31 @@ def cancel(self): return messageAudioTag; } - // 从数据列表中取出对应范围的元素并添加到容器中 + // 从数据列表中取出对应范围的元素并添加到容器中 for (let i = startIndex; i < endIndex && i < chatMessages.length; i++) { const message = chatMessages[i]; + if (i == startIndex) { // 判断一下在页面顶部多加一个时间 + if (!/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(message.text)) { + // 时间戳转成时间 + function timestampToTime(timestamp) { + let date = new Date(timestamp * 1000); + let year = date.getFullYear() + '-'; + let month = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + let day = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; + let hour = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; + let minute = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'; + let second = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); + return year + month + day + hour + minute + second; + } + + // 添加div + const newTimeMessage = document.createElement('div'); + newTimeMessage.className = "item item-center"; + newTimeMessage.innerHTML = `${timestampToTime(message.timestamp)}`; + chatContainer.appendChild(newTimeMessage); + console.log("增加时间元素", timestampToTime(message.timestamp)); + } + } const messageElement = document.createElement('div'); // 下面那俩的合体 const avatarTag = avatarBox(message); // 头像 const messageContent = document.createElement('div'); // 除了avatar之外的所有 @@ -1154,7 +1176,7 @@ def cancel(self): messageContent.appendChild(displayNameBox(message)); } messageContent.appendChild(messageBubble(message, side)); - + // 整合 messageElement.className = `item item-${side}`; messageElement.appendChild(message.is_send ? messageContent : avatarTag); @@ -1162,7 +1184,7 @@ def cancel(self): } else if (message.type == 0) { messageElement.className = "item item-center"; - messageElement.innerHTML = `${message.text}` + messageElement.innerHTML = `${message.text}`; } else if (message.type == 3) { // displayname 和 img