fix(captcha): wire scene switches and rename menu to 人机验证

- Admin: 登录权限 → 人机验证; 停用场景 → 启用场景 (opt-in)
- Normalize enabled_scenarios with legacy disabled_scenarios BC
- Sign-in: never soft-bypass captcha; cancel unlocks button
- Captcha JS: cancel path finishes pending callback as false
This commit is contained in:
kate522 committed 2026-07-15 16:48:57 +08:00
1 parent 808d46664f
commit bc96edf384
10 files changed
+143 -54

No files matched your search

+9 -2
View File
@@ -227,9 +227,16 @@ async function load() {
const captchaData = extractData(captchaRes)
const dailySignin = creditData.daily_signin || {}
const inviteReward = creditData.invite_reward || {}
const enabledScenarios = Array.isArray(captchaData.enabled_scenarios)
? captchaData.enabled_scenarios
: null
const disabledScenarios = Array.isArray(captchaData.disabled_scenarios)
? captchaData.disabled_scenarios
: []
const sceneOn = (key) => {
if (enabledScenarios) return enabledScenarios.includes(key)
return !disabledScenarios.includes(key)
}
creditSnapshot.value = creditData
authSnapshot.value = authData
@@ -249,8 +256,8 @@ async function load() {
form.invite_register_field = authData.invite_register_field || 'optional'
form.invite_reject_invalid = authData.invite_reject_invalid !== false
captchaSummary.register = !!captchaData.enabled && !!captchaData.active_provider && !disabledScenarios.includes('register')
captchaSummary.signin = !!captchaData.enabled && !!captchaData.active_provider && !disabledScenarios.includes('signin')
captchaSummary.register = !!captchaData.enabled && !!captchaData.active_provider && sceneOn('register')
captchaSummary.signin = !!captchaData.enabled && !!captchaData.active_provider && sceneOn('signin')
} catch (error) {
message.error(error.message || '加载签到奖励配置失败')
} finally {