fix: improve promotion tabs and referral layout

This commit is contained in:
2026-08-16 21:28:02 +08:00
parent 5b9f54f5ac
commit 853114a9f9
18 changed files with 127 additions and 602 deletions
+6 -5
View File
@@ -82,10 +82,10 @@
}
target.classList.add('is-loading');
var url = restUrl.replace(/\/$/, '') + '/user-center/panel/' + encodeURIComponent(name);
if (name === 'creator' || name === 'promotion' || name === 'posts' || name === 'follow') {
if (name === 'creator' || name === 'revenue' || name === 'posts' || name === 'follow') {
var params = queryParams || new URLSearchParams(window.location.search);
var allowedParams = name === 'creator' ? ['income_page'] :
(name === 'promotion' ? ['reward_tab', 'commission_page', 'user_page'] :
(name === 'revenue' ? ['reward_tab', 'commission_page', 'user_page'] :
(name === 'posts' ? ['post_status', 'posts_page'] : ['follow_list', 'follow_page']));
allowedParams.forEach(function(key) {
if (params.get(key)) url += (url.indexOf('?') === -1 ? '?' : '&') + key + '=' + encodeURIComponent(params.get(key));
@@ -120,8 +120,9 @@
return loadPanel(name, forceLoad, queryParams).then(function() {
switchTo(name);
if (updateHistory) updateUrl(name);
if (name === 'promotion' && typeof window.AKSRTRevenueCenterInit === 'function') window.AKSRTRevenueCenterInit(panels[name].panel);
if (name === 'promotion' && typeof window.AKSRTAffiliatePromotionInit === 'function') window.AKSRTAffiliatePromotionInit();
if (name === 'revenue' && typeof window.AKSRTRevenueCenterInit === 'function') window.AKSRTRevenueCenterInit(panels[name].panel);
if (name === 'revenue' && typeof window.AKSRTAffiliateRevenueInit === 'function') window.AKSRTAffiliateRevenueInit();
if (name === 'revenue' && typeof window.AKSRTWithdrawInit === 'function') window.AKSRTWithdrawInit();
}).catch(function() {
if (typeof showToast === 'function') showToast(i18n.networkError || '加载失败,请重试');
});
@@ -139,7 +140,7 @@
if (!window.history.replaceState) return;
var pathTab = name === 'credits' ? 'balance' : name;
var u = new URL('/user/' + pathTab + '/', window.location.origin);
if (sourceUrl) {
if (sourceUrl && name !== 'revenue') {
var source = new URL(sourceUrl, window.location.href);
source.searchParams.forEach(function(value, key) { u.searchParams.set(key, value); });
}