fix(modal): close rollout and async lifecycle gaps

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-05 02:31:41 +08:00
co-authored by Claude Fable 5
parent 5375ad6429
commit aa865e24e1
8 changed files with 86 additions and 31 deletions
@@ -24,28 +24,28 @@ class SchemaToolsFrontendModalRollout {
'key' => 'frontend_modal_rollout_identity',
'label' => '官方认证新流程',
'type' => 'switch',
'default' => false,
'default' => true,
'help' => '启用统一弹窗运行时与认证快照流程。',
],
[
'key' => 'frontend_modal_rollout_badge',
'label' => '徽章新流程',
'type' => 'switch',
'default' => false,
'default' => true,
'help' => '启用统一 JSON 徽章流程和短缓存。',
],
[
'key' => 'frontend_modal_rollout_order',
'label' => '订单新流程',
'type' => 'switch',
'default' => false,
'default' => true,
'help' => '启用订单详情快速开壳与状态同步流程。',
],
[
'key' => 'frontend_modal_rollout_vip',
'label' => '会员支付新流程',
'type' => 'switch',
'default' => false,
'default' => true,
'help' => '启用统一会员购买、支付和结果同步流程。',
],
],
+4 -4
View File
@@ -575,10 +575,10 @@ trait ScriptsPart1c {
// Alias used by modal-auth / follow / report (same value as restUrl).
'apiUrl' => esc_url_raw(rest_url('aksrt/v1')),
'frontendModalRollout' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_frontend_modal_rollout() : [
'vip' => false,
'order' => false,
'identity' => false,
'badge' => false,
'vip' => true,
'order' => true,
'identity' => true,
'badge' => true,
],
'stickyEnabled' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_post_list_style_settings()['sticky_enabled'] : true,
'stickyPages' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_post_list_style_settings()['sticky_pages'] : ['home', 'cat'],
+6 -4
View File
@@ -20,10 +20,12 @@ class FrontendModalRuntime {
$settings = Settings::get_all();
return [
'vip' => !empty($settings['frontend_modal_rollout_vip']),
'order' => !empty($settings['frontend_modal_rollout_order']),
'identity' => !empty($settings['frontend_modal_rollout_identity']),
'badge' => !empty($settings['frontend_modal_rollout_badge']),
// Canonical-only flows must be live when the option has never been configured.
// An explicit false remains an intentional per-domain kill switch.
'vip' => !array_key_exists('frontend_modal_rollout_vip', $settings) || !empty($settings['frontend_modal_rollout_vip']),
'order' => !array_key_exists('frontend_modal_rollout_order', $settings) || !empty($settings['frontend_modal_rollout_order']),
'identity' => !array_key_exists('frontend_modal_rollout_identity', $settings) || !empty($settings['frontend_modal_rollout_identity']),
'badge' => !array_key_exists('frontend_modal_rollout_badge', $settings) || !empty($settings['frontend_modal_rollout_badge']),
];
}
}