feat: upgrade widgets and affiliate commission flow

This commit is contained in:
2026-08-16 18:29:31 +08:00
parent 22c0c9df9c
commit 698a9beb74
33 changed files with 709 additions and 227 deletions
+20 -4
View File
@@ -78,7 +78,7 @@ class Center {
$revenue_request = [];
if ($tab === 'revenue') {
$reward_tab = sanitize_key((string) $request->get_param('reward_tab'));
if (!in_array($reward_tab, ['detail', 'orders', 'users'], true)) {
if (!in_array($reward_tab, ['detail', 'orders'], true)) {
$reward_tab = 'detail';
}
$revenue_request = [
@@ -188,6 +188,12 @@ class Center {
'priority' => 55,
'type' => 'panel',
],
'promotion' => [
'label' => __('推广中心', 'aksrt'),
'icon' => 'share-alt',
'priority' => 54,
'type' => 'panel',
],
'notif' => [
'label' => __('消息通知', 'aksrt'),
'icon' => 'bell',
@@ -218,9 +224,10 @@ class Center {
&& !empty(\AKSRT\User\Level::settings()['enabled']);
$credits_on = class_exists('\AKSRT\Settings\Settings') && \AKSRT\Settings\Settings::credits_enabled();
$balance_on = class_exists('\AKSRT\Credits\Balance') && \AKSRT\Credits\Balance::enabled();
$revenue_tab_on = class_exists('\AKSRT\Settings\Settings')
&& !empty(\AKSRT\Settings\Settings::get_payment_affiliate_settings()['enabled'])
&& \AKSRT\Settings\Settings::invite_registration_enabled();
$promotion_tab_on = class_exists('\AKSRT\Settings\Settings')
&& !empty(\AKSRT\Settings\Settings::get_affiliate_settings()['enabled']);
$revenue_tab_on = $promotion_tab_on || (class_exists('\AKSRT\Settings\Settings')
&& !empty(\AKSRT\Settings\Settings::get_payment_revenue_settings()['enabled']));
$creator_tab_on = class_exists('\AKSRT\Settings\Settings')
&& !empty(\AKSRT\Settings\Settings::get_payment_revenue_settings()['enabled']);
$vip_on = class_exists('\AKSRT\Settings\Settings')
@@ -299,6 +306,12 @@ class Center {
}
array_splice($order, $insert_at, 0, ['revenue']);
}
if ($promotion_tab_on && !in_array('promotion', $order, true)) {
$insert_at = count($order);
$idx = array_search('revenue', $order, true);
if ($idx !== false) { $insert_at = (int) $idx; }
array_splice($order, $insert_at, 0, ['promotion']);
}
$auth_on = class_exists('\AKSRT\User\AuthApply')
&& !empty(\AKSRT\User\AuthApply::settings()['enabled']);
if ($auth_on && !in_array('auth', $order, true)) {
@@ -321,6 +334,9 @@ class Center {
if ($key === 'revenue' && !$revenue_tab_on) {
continue;
}
if ($key === 'promotion' && !$promotion_tab_on) {
continue;
}
if ($key === 'vip' && !$vip_on) {
continue;