完善邮件详情页发件人隐藏字符清洗与格式化
This commit is contained in:
parent
851a5d9d40
commit
ad86aa94e4
Binary file not shown.
@ -106,10 +106,25 @@ export function usePage() {
|
||||
return router.push({name: 'editer', query: {reply: String(id)}})
|
||||
}
|
||||
|
||||
const cleanSenderText = (text) => {
|
||||
if (!text) return String();
|
||||
return String(text).replace(/[\u200B-\u200D\u2060-\u206F\uFEFF]/g, String()).trim();
|
||||
};
|
||||
|
||||
const getInitial = (name) => {
|
||||
if (!name) return '?';
|
||||
return name.charAt(0).toUpperCase();
|
||||
}
|
||||
const cleaned = cleanSenderText(name);
|
||||
if (!cleaned) return '?';
|
||||
return cleaned.charAt(0).toUpperCase();
|
||||
};
|
||||
|
||||
const formatSenderName = (fromName, fromAddress) => {
|
||||
const cleaned = cleanSenderText(fromName);
|
||||
return cleaned || fromAddress || String();
|
||||
};
|
||||
|
||||
const hasSenderName = (fromName) => {
|
||||
return cleanSenderText(fromName).length > 0;
|
||||
};
|
||||
|
||||
const formatDetailDate = (dateStr) => {
|
||||
if (!dateStr) return "";
|
||||
@ -183,6 +198,9 @@ export function usePage() {
|
||||
backToList,
|
||||
handleReply,
|
||||
getInitial,
|
||||
cleanSenderText,
|
||||
formatSenderName,
|
||||
hasSenderName,
|
||||
formatDetailDate,
|
||||
handleDelete
|
||||
}
|
||||
|
||||
@ -43,12 +43,12 @@
|
||||
<div class="mail-meta-card">
|
||||
<div class="meta-left">
|
||||
<div class="avatar-placeholder">
|
||||
{{ getInitial(detailData.from_name || detailData.from_address) }}
|
||||
{{ getInitial(formatSenderName(detailData.from_name, detailData.from_address)) }}
|
||||
</div>
|
||||
<div class="meta-info">
|
||||
<div class="sender-line">
|
||||
<span class="sender-name">{{ detailData.from_name !== '' ? detailData.from_name : detailData.from_address }}</span>
|
||||
<span class="sender-email" v-if="detailData.from_name !== ''"><{{ detailData.from_address }}></span>
|
||||
<span class="sender-name">{{ formatSenderName(detailData.from_name, detailData.from_address) }}</span>
|
||||
<span class="sender-email" v-if="hasSenderName(detailData.from_name)"><{{ detailData.from_address }}></span>
|
||||
</div>
|
||||
<div class="receivers-line">
|
||||
<span class="meta-label">{{ lang.to }}:</span>
|
||||
@ -117,6 +117,8 @@ const {
|
||||
ccs,
|
||||
showBCC,
|
||||
bccs,
|
||||
formatSenderName,
|
||||
hasSenderName,
|
||||
formatDetailDate
|
||||
} = usePage()
|
||||
</script>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user