修复认证验证码投递与登录入口体验 05-27-oa-auth-delivery-wecom-entry-fix

这个提交包含在:
2026-05-27 10:14:49 +08:00
父节点 347d337c0c
当前提交 511efa0b2d
共修改 17 个文件,包含 746 行新增和 63 行删除
+11 -7
查看文件
@@ -1,6 +1,7 @@
require('dotenv/config');
const { getConfig } = require('../config');
const { resolveEmailDeliveryStatus } = require('../services/email');
function assertCondition(condition, message) {
if (!condition) {
@@ -42,17 +43,20 @@ function evaluateWecom(config) {
}
function evaluateEmail(config) {
if (!config.emailEnabled) {
const status = resolveEmailDeliveryStatus(config);
if (status.reasons.includes('email_disabled')) {
return { state: 'disabled', detail: '企业邮箱 SMTP 未启用', checks: [] };
}
const missing = [];
if (!String(config.emailFrom ?? '').trim()) missing.push('EMAIL_FROM');
if (!String(config.smtpHost ?? '').trim()) missing.push('SMTP_HOST');
if (!Number.isFinite(Number(config.smtpPort)) || Number(config.smtpPort) <= 0) missing.push('SMTP_PORT');
if (String(config.smtpUser ?? '').trim() && !String(config.smtpPass ?? '').trim()) missing.push('SMTP_PASS');
const reasonLabels = {
email_from_missing: 'EMAIL_FROM',
smtp_host_missing: 'SMTP_HOST',
smtp_port_invalid: 'SMTP_PORT',
smtp_auth_incomplete: 'SMTP_USER/SMTP_PASS',
};
const missing = status.reasons.map((reason) => reasonLabels[reason] ?? reason);
assertCondition(missing.length === 0, `SMTP 配置不完整:${formatList(missing)}`);
assertCondition(status.ready, `SMTP 配置不完整:${formatList(missing)}`);
return {
state: 'ready',