const TemplatesPage = {
async render() { return '
'; },
async mount() {
document.getElementById('page-title').textContent = '邮件模板';
document.getElementById('page-actions').innerHTML = '';
await this.load();
},
async load() {
const ct = document.getElementById('page-content');
try {
const templates = await API.get('/settings/email-templates');
ct.innerHTML = templates.map(t => `
${U.esc(t.name)}${t.code}
主题${U.esc(t.subject)}
${t.description ? `
说明${U.esc(t.description)}
` : ''}
`).join('');
} catch (e) { ct.innerHTML = `${e.message}
`; }
},
async edit(code, name) {
try {
const t = await API.get(`/settings/email-templates/${code}`);
U.modal(`编辑: ${name}`, `
`, '800px');
document.getElementById('et-form').onsubmit = async e => {
e.preventDefault();
try {
await API.put(`/settings/email-templates/${code}`, {
subject: document.getElementById('et-subject').value,
body: document.getElementById('et-body').value,
});
App.closeModal();
this.load();
} catch (ex) { alert(ex.message); }
};
} catch (e) { alert(e.message); }
}
};