fix(user-center): load revenue tabs without refresh
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
39c92017d9
commit
02fcde3c84
7 files changed
+169
-41
No files matched your search
@@ -4,11 +4,11 @@
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
var root = document.querySelector('[data-aksrt-revenue-page]');
|
||||
if (!root) return;
|
||||
function init(root) {
|
||||
var data = window.aksrtData || {};
|
||||
if (!root || !data) return;
|
||||
|
||||
var data = window.aksrtData || {};
|
||||
var rest = data.restUrl || data.apiUrl || ((data.siteUrl || '').replace(/\/$/, '') + '/wp-json/aksrt/v1');
|
||||
var rest = data.restUrl || data.apiUrl || ((data.siteUrl || '').replace(/\/$/, '') + '/wp-json/aksrt/v1');
|
||||
if (!rest) return;
|
||||
rest = rest.replace(/\/?$/, '');
|
||||
|
||||
@@ -218,8 +218,44 @@
|
||||
}).then(function (result) {
|
||||
if (!result.ok || !result.json || !result.json.success) { setWithdrawBusy(false); setWithdrawTip((result.json && result.json.message) || '提现申请失败', true); return; }
|
||||
setWithdrawTip('提现申请已提交', false);
|
||||
window.setTimeout(function () { window.location.reload(); }, 700);
|
||||
if (result.json.data && typeof result.json.data.wallet_balance !== 'undefined') {
|
||||
var balanceEl = root.querySelector('[data-aksrt-revenue-balance]');
|
||||
if (balanceEl) balanceEl.textContent = Number(result.json.data.wallet_balance).toFixed(2);
|
||||
}
|
||||
withdrawForm.reset();
|
||||
setWithdrawBusy(false);
|
||||
}).catch(function () { setWithdrawBusy(false); setWithdrawTip('网络错误,请稍后重试', true); });
|
||||
});
|
||||
var rewardTabs = root.querySelectorAll('.uc-reward-tabs a, .uc-reward-pagination a');
|
||||
rewardTabs.forEach(function (link) {
|
||||
link.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
var targetUrl = new URL(link.href, window.location.href);
|
||||
var panelUrl = rest + '/user-center/panel/revenue?' + targetUrl.searchParams.toString();
|
||||
fetch(panelUrl, {
|
||||
credentials: 'same-origin',
|
||||
headers: { 'X-WP-Nonce': data.restNonce || data.nonce || '' }
|
||||
}).then(function (response) {
|
||||
return response.json().then(function (payload) {
|
||||
if (!response.ok || !payload.success || !payload.data || !payload.data.html) throw new Error('revenue-load-failed');
|
||||
var current = document.querySelector('[data-aksrt-revenue-page]');
|
||||
if (!current) return;
|
||||
var wrapper = document.createElement('div');
|
||||
wrapper.innerHTML = payload.data.html;
|
||||
var next = wrapper.firstElementChild;
|
||||
if (!next) throw new Error('revenue-html-empty');
|
||||
current.replaceWith(next);
|
||||
window.history.pushState({}, '', targetUrl);
|
||||
init(next);
|
||||
});
|
||||
}).catch(function () {
|
||||
if (typeof showToast === 'function') showToast('加载失败,请重试');
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
window.AKSRTRevenueCenterInit = init;
|
||||
init(document.querySelector('[data-aksrt-revenue-page]'));
|
||||
})();
|
||||
Reference in new issue
Block a user