fix: notifications page crash + email code dev-mode false error
- notifications.js: EventOptions(current) referenced undefined 'Current' (case typo) -> ReferenceError crashed add/edit modal, page unusable - auth.js send-verify-code: dev mode (SMTP down) deleted captcha row before returning code, so register always failed with '验证码无效或已过期' even with correct code. Keep row; it's deleted after successful verify.
This commit is contained in:
@@ -29,7 +29,8 @@ router.post('/send-verify-code', async (req, res) => {
|
|||||||
code,
|
code,
|
||||||
});
|
});
|
||||||
if (!sent) {
|
if (!sent) {
|
||||||
await query('DELETE FROM captchas WHERE id = ?', [codeId]);
|
// SMTP 未配置/发送失败(dev 模式): 保留验证码记录, 前端直接显示验证码;
|
||||||
|
// 注册校验通过后会自动删除, 不会出现"验证码正确却报错"的问题
|
||||||
return res.status(200).json({ code_id: codeId, code, dev: true });
|
return res.status(200).json({ code_id: codeId, code, dev: true });
|
||||||
}
|
}
|
||||||
res.json({ code_id: codeId, message: '验证码已发送' });
|
res.json({ code_id: codeId, message: '验证码已发送' });
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ const NotificationsPage = {
|
|||||||
async del(id) { if(await U.confirm('确认删除?')){ try { await API.req('DELETE',`/notifications/${id}`); this.load(); } catch(ex){alert(ex.message);} } }
|
async del(id) { if(await U.confirm('确认删除?')){ try { await API.req('DELETE',`/notifications/${id}`); this.load(); } catch(ex){alert(ex.message);} } }
|
||||||
};
|
};
|
||||||
|
|
||||||
function EventOptions(current) { return ['all','ticket_created','ticket_claimed','ticket_transferred','ticket_updated'].map(e=>`<label style="cursor:pointer;font-size:12px"><input type="checkbox" value="${e}" class="ev-check" ${Current.split(',').map(s=>s.trim()).includes(e)?'checked':''}> ${EventsLabelSingle(e)}</label>`).join(''); }
|
function EventOptions(current) { return ['all','ticket_created','ticket_claimed','ticket_transferred','ticket_updated'].map(e=>`<label style="cursor:pointer;font-size:12px"><input type="checkbox" value="${e}" class="ev-check" ${String(current||'').split(',').map(s=>s.trim()).includes(e)?'checked':''}> ${EventsLabelSingle(e)}</label>`).join(''); }
|
||||||
function EventsLabel(v) { return v==='all'?'全部事件':v.split(',').map(s=>s.trim()).map(EventsLabelSingle).join(', '); }
|
function EventsLabel(v) { return v==='all'?'全部事件':v.split(',').map(s=>s.trim()).map(EventsLabelSingle).join(', '); }
|
||||||
function EventsLabelSingle(e) { return {all:'全部',ticket_created:'工单创建',ticket_claimed:'工单认领',ticket_transferred:'工单转交',ticket_updated:'工单更新'}[e]||e; }
|
function EventsLabelSingle(e) { return {all:'全部',ticket_created:'工单创建',ticket_claimed:'工单认领',ticket_transferred:'工单转交',ticket_updated:'工单更新'}[e]||e; }
|
||||||
function bindEventToggles() {
|
function bindEventToggles() {
|
||||||
|
|||||||
Reference in New Issue
Block a user