fix(modal): align rollout schema contract
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -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(),
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
+5
-5
@@ -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,
|
||||
@@ -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',
|
||||
|
||||
@@ -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'],
|
||||
|
||||
@@ -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']),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取侧边栏配置
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user