perf(modal): unify cancellable frontend modal flows

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Fable 5 committed 2026-08-05 02:04:55 +08:00
1 parent 25ce1d8f43
commit 5375ad6429
36 files changed
+2623 -1806

No files matched your search

@@ -15,39 +15,27 @@ if (empty($vip_settings['enabled'])) {
}
$user_id = (int) ($user_id ?? get_current_user_id());
$is_vip_user = function_exists('aksrt_is_vip') && aksrt_is_vip($user_id);
$vip_level = function_exists('aksrt_get_user_vip_level') ? aksrt_get_user_vip_level($user_id) : 0;
$expires = (int) get_user_meta($user_id, 'aksrt_vip_expires', true);
$vip_level = 0;
$expires = 0;
$expires_label = __('未开通', 'aksrt');
if ($vip_level > 0) {
if ($expires <= 0) {
$expires_label = __('永久有效', 'aksrt');
} elseif ($expires < time()) {
$expires_label = __('已过期', 'aksrt');
} else {
$expires_label = sprintf(
/* translators: %s: date */
__('到期时间:%s', 'aksrt'),
wp_date('Y-m-d', $expires)
);
}
}
$is_vip_user = false;
$level_name = (string) ($vip_settings['name'] ?? __('VIP会员', 'aksrt'));
if ($vip_level >= 1 && !empty($vip_settings['levels'][$vip_level]['name'])) {
$level_name = (string) $vip_settings['levels'][$vip_level]['name'];
}
$packages = [];
$renew_desc = '';
$upgrade_desc = '';
$points_exchange = ['enabled' => false, 'packages' => [], 'desc' => ''];
$user_points = 0;
$currency_name = class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_currency_name() : __('积分', 'aksrt');
$currency_name = __('积分', 'aksrt');
$methods = [['id' => 'balance', 'name' => __('站内余额', 'aksrt')]];
if (class_exists('\AKSRT\Content\VipService')) {
$catalog = \AKSRT\Content\VipService::get_instance()->get_catalog($user_id);
$vip_level = (int) ($catalog['user_level'] ?? 0);
$expires = (int) ($catalog['user_expires'] ?? 0);
$expires_label = (string) ($catalog['user_expires_label'] ?? $expires_label);
$is_vip_user = $vip_level > 0;
$packages = is_array($catalog['level_packages'] ?? null) ? $catalog['level_packages'] : [];
$methods = is_array($catalog['payment_methods'] ?? null) ? $catalog['payment_methods'] : [];
$methods = is_array($catalog['payment_methods'] ?? null) ? $catalog['payment_methods'] : $methods;
$renew_desc = (string) ($catalog['renew_desc'] ?? '');
$upgrade_desc = (string) ($catalog['upgrade_desc'] ?? '');
$points_exchange = is_array($catalog['points_exchange'] ?? null) ? $catalog['points_exchange'] : $points_exchange;
@@ -55,8 +43,11 @@ if (class_exists('\AKSRT\Content\VipService')) {
if (!empty($catalog['currency_name'])) {
$currency_name = (string) $catalog['currency_name'];
}
} else {
$methods = [['id' => 'balance', 'name' => __('站内余额', 'aksrt')]];
} elseif (class_exists('\\AKSRT\\Settings\\Settings')) {
$currency_name = \AKSRT\Settings\Settings::get_currency_name();
}
if ($vip_level >= 1 && !empty($vip_settings['levels'][$vip_level]['name'])) {
$level_name = (string) $vip_settings['levels'][$vip_level]['name'];
}
$cash_symbol = '¥';