微件:GFLMail
来自OGAS数据中枢
更多操作
<script> (function() {
var widgetId = ;
function initMail() {
var rootEl = document.getElementById('gflRoot-' + widgetId);
if (!rootEl || rootEl.classList.contains('gfl-initialized')) {
return;
}
rootEl.classList.add('gfl-initialized');
var mailsData;
try {
mailsData = JSON.parse(rootEl.getAttribute('data-mails') || '[]');
} catch(e) {
console.error('GFLMail: Failed to parse mail data', e);
return;
}
var listEl = document.getElementById('gflList-' + widgetId);
var detailEl = document.getElementById('gflDetail-' + widgetId);
if (!listEl || !detailEl) {
return;
}
var items = listEl.querySelectorAll('.gfl-item');
for (var i = 0; i < items.length; i++) {
(function(index) {
var item = items[index];
item.addEventListener('click', function() {
openMail(index);
});
item.addEventListener('keypress', function(e) {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
openMail(index);
}
});
})(i);
}
var backBtn = detailEl.querySelector('.gfl-back-btn');
if (backBtn) {
backBtn.addEventListener('click', function() {
detailEl.classList.remove('is-open');
listEl.style.display = ;
});
}
function openMail(idx) {
var mail = mailsData[idx];
if (!mail) return;
var subjectEl = detailEl.querySelector('.gfl-detail-subject');
var dateEl = detailEl.querySelector('.gfl-date-row');
var contentEl = detailEl.querySelector('.gfl-content');
var charEl = detailEl.querySelector('.gfl-char');
if (subjectEl) subjectEl.textContent = mail.subject;
if (dateEl) dateEl.textContent = mail.date;
if (contentEl) contentEl.innerHTML = mail.content;
if (charEl) {
if (mail.charImg) {
charEl.innerHTML = '<img src="' + mail.charImg + '" alt="人形立绘" />';
} else {
charEl.innerHTML = '
立绘区域
(传入图片后显示)
(传入图片后显示)
';
}
}
listEl.style.display = 'none';
detailEl.classList.add('is-open');
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initMail);
} else {
initMail();
}
})(); </script>