|
@@ -20,7 +20,6 @@ const dropZoneRef = ref()
|
|
|
// 解析日期字符串为Date对象
|
|
// 解析日期字符串为Date对象
|
|
|
const parseDate = (dateStr) => {
|
|
const parseDate = (dateStr) => {
|
|
|
try {
|
|
try {
|
|
|
- // 处理形如 "2025/6/10 17:37:21" 的日期格式
|
|
|
|
|
const parts = dateStr.split(' ')
|
|
const parts = dateStr.split(' ')
|
|
|
if (parts.length !== 2) return new Date(0)
|
|
if (parts.length !== 2) return new Date(0)
|
|
|
|
|
|
|
@@ -270,11 +269,11 @@ const processMessageContent = (message) => {
|
|
|
|
|
|
|
|
if (message.mediaType === 'Photo' && message.imagePath) {
|
|
if (message.mediaType === 'Photo' && message.imagePath) {
|
|
|
content += `
|
|
content += `
|
|
|
- <div class="message-text">${escapeHtml(message.text)}</div>
|
|
|
|
|
|
|
+ <div class="message-text" style="margin-bottom: 1rem;">${escapeHtml(message.text)}</div>
|
|
|
<div class="message-image-container">
|
|
<div class="message-image-container">
|
|
|
<img class="message-image" data-image-path="${message.imagePath}" alt="图片" loading="lazy">
|
|
<img class="message-image" data-image-path="${message.imagePath}" alt="图片" loading="lazy">
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="message-time">${messageTime}</div>
|
|
|
|
|
|
|
+ <div class="message-time" style="font-size: 0.75rem; color: #dc2626; margin-top: 1rem; text-align: right; font-style: italic; opacity: 0.9; display: block; width: 100%;">${messageTime}</div>
|
|
|
`
|
|
`
|
|
|
} else if (message.mediaType === 'WebPage' && message.text) {
|
|
} else if (message.mediaType === 'WebPage' && message.text) {
|
|
|
// 尝试提取URL
|
|
// 尝试提取URL
|
|
@@ -282,16 +281,16 @@ const processMessageContent = (message) => {
|
|
|
const url = urlMatch ? urlMatch[0] : message.text
|
|
const url = urlMatch ? urlMatch[0] : message.text
|
|
|
|
|
|
|
|
content += `
|
|
content += `
|
|
|
- <div class="message-text">${escapeHtml(message.text)}</div>
|
|
|
|
|
|
|
+ <div class="message-text" style="margin-bottom: 1rem;">${escapeHtml(message.text)}</div>
|
|
|
<div class="message-web-page">
|
|
<div class="message-web-page">
|
|
|
<a href="${url}" target="_blank" rel="noopener noreferrer">${escapeHtml(url)}</a>
|
|
<a href="${url}" target="_blank" rel="noopener noreferrer">${escapeHtml(url)}</a>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="message-time">${messageTime}</div>
|
|
|
|
|
|
|
+ <div class="message-time" style="font-size: 0.75rem; color: #dc2626; margin-top: 1rem; text-align: right; font-style: italic; opacity: 0.9; display: block; width: 100%;">${messageTime}</div>
|
|
|
`
|
|
`
|
|
|
} else {
|
|
} else {
|
|
|
content += `
|
|
content += `
|
|
|
- <div class="message-text">${escapeHtml(message.text)}</div>
|
|
|
|
|
- <div class="message-time">${messageTime}</div>
|
|
|
|
|
|
|
+ <div class="message-text" style="margin-bottom: 1rem;">${escapeHtml(message.text)}</div>
|
|
|
|
|
+ <div class="message-time" style="font-size: 0.75rem; color: #dc2626; margin-top: 1rem; text-align: right; font-style: italic; opacity: 0.9; display: block; width: 100%;">${messageTime}</div>
|
|
|
`
|
|
`
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -412,7 +411,7 @@ const handleImagesAfterUpdate = async () => {
|
|
|
<span class="summary-item-icon">💾</span>
|
|
<span class="summary-item-icon">💾</span>
|
|
|
<span>媒体文件: {{ message.mediaDownload }}</span>
|
|
<span>媒体文件: {{ message.mediaDownload }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="message-time">{{ message.date }}</div>
|
|
|
|
|
|
|
+ <div class="message-time" style="font-size: 0.75rem; color: #dc2626; margin-top: 1rem; text-align: right; font-style: italic; opacity: 0.9; display: block; width: 100%;">{{ message.date }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -556,12 +555,14 @@ const handleImagesAfterUpdate = async () => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.message-time {
|
|
.message-time {
|
|
|
- font-size: 0.65rem !important;
|
|
|
|
|
- color: #dc2626 !important;
|
|
|
|
|
- margin-top: 1rem !important;
|
|
|
|
|
- text-align: right !important;
|
|
|
|
|
- font-style: italic !important;
|
|
|
|
|
- opacity: 0.9 !important;
|
|
|
|
|
|
|
+ font-size: 0.75rem;
|
|
|
|
|
+ color: #dc2626;
|
|
|
|
|
+ margin-top: 1rem;
|
|
|
|
|
+ text-align: right;
|
|
|
|
|
+ font-style: italic;
|
|
|
|
|
+ opacity: 0.9;
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ width: 100%;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* 导出摘要样式 */
|
|
/* 导出摘要样式 */
|