fix(modal): align rollout schema contract

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-04 21:31:55 +08:00
co-authored by Claude Fable 5
parent 113a6bcab0
commit 1f004aea46
10 changed files with 40 additions and 39 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ class SchemaTools {
'health' => SchemaToolsHealth::build(),
'backup' => SchemaToolsBackup::build(),
'email-rollback' => SchemaToolsEmailRollback::build(),
'modal-rollout' => SchemaToolsModalRollout::build(),
'frontend-modal-rollout' => SchemaToolsFrontendModalRollout::build(),
],
];
}
@@ -7,17 +7,17 @@ namespace AKSRT\Admin\Schema;
defined('ABSPATH') || exit;
class SchemaToolsModalRollout {
class SchemaToolsFrontendModalRollout {
public static function build(): array {
return [
'key' => 'modal-rollout',
'key' => 'frontend-modal-rollout',
'title' => '前台弹窗灰度',
'version' => '1.0.0',
'option_key' => 'aksrt_settings',
'groups' => [
[
'key' => 'modal-rollout',
'key' => 'rollout',
'title' => '弹窗新流程开关',
'fields' => [
[
@@ -28,14 +28,14 @@ class SchemaToolsModalRollout {
'help' => '启用统一弹窗运行时与认证快照流程。',
],
[
'key' => 'frontend_modal_rollout_badges',
'key' => 'frontend_modal_rollout_badge',
'label' => '徽章新流程',
'type' => 'switch',
'default' => false,
'help' => '启用统一 JSON 徽章流程和短缓存。',
],
[
'key' => 'frontend_modal_rollout_orders',
'key' => 'frontend_modal_rollout_order',
'label' => '订单新流程',
'type' => 'switch',
'default' => false,
-2
View File
@@ -17,8 +17,6 @@ class ToolsController extends ControllerBase {
}
public function register_routes(): void {
$this->register_section_routes('tools', 'tools');
// Health: email verification status
register_rest_route(self::API_NAMESPACE, '/health/email-verification', [
'methods' => 'GET',
+4 -4
View File
@@ -561,11 +561,11 @@ trait ScriptsPart1c {
'restUrl' => esc_url_raw(rest_url('aksrt/v1')),
// Alias used by modal-auth / follow / report (same value as restUrl).
'apiUrl' => esc_url_raw(rest_url('aksrt/v1')),
'modalRollout' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_frontend_modal_rollout_settings() : [
'identity' => false,
'badges' => false,
'orders' => false,
'frontendModalRollout' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_frontend_modal_rollout() : [
'vip' => false,
'order' => false,
'identity' => false,
'badge' => false,
],
'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'],
-8
View File
@@ -179,12 +179,4 @@ trait DomainGroups {
return Capabilities::get_system_tools_settings();
}
/**
* 获取前台弹窗按领域灰度开关。
*
* @return array{identity:bool,badges:bool,orders:bool,vip:bool}
*/
public static function get_frontend_modal_rollout_settings(): array {
return ModalRuntime::get_frontend_modal_rollout_settings();
}
}
@@ -9,21 +9,21 @@ namespace AKSRT\Settings;
defined('ABSPATH') || exit;
class ModalRuntime {
class FrontendModalRuntime {
/**
* Read the per-domain frontend modal rollout switches.
*
* @return array{identity:bool,badges:bool,orders:bool,vip:bool}
* @return array{vip:bool,order:bool,identity:bool,badge:bool}
*/
public static function get_frontend_modal_rollout_settings(): array {
public static function get_frontend_modal_rollout(): array {
$settings = Settings::get_all();
return [
'identity' => !empty($settings['frontend_modal_rollout_identity']),
'badges' => !empty($settings['frontend_modal_rollout_badges']),
'orders' => !empty($settings['frontend_modal_rollout_orders']),
'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']),
];
}
}
+11
View File
@@ -526,6 +526,17 @@ class Settings {
/**
* 获取前台弹窗按领域灰度开关。
*
* @return array{vip:bool,order:bool,identity:bool,badge:bool}
*/
public static function get_frontend_modal_rollout(): array {
return FrontendModalRuntime::get_frontend_modal_rollout();
}
/**
* 获取侧边栏配置
*