feat(users): normalize center routes and withdrawal limits

This commit is contained in:
2026-08-12 19:44:47 +08:00
parent 9004f7093f
commit dacd0095bf
24 changed files with 326 additions and 174 deletions
+33 -5
View File
@@ -930,11 +930,27 @@
var amountEl = form.querySelector('[data-aksrt-withdraw-amount]');
var methodEl = form.querySelector('[data-aksrt-withdraw-method]');
var accountEl = form.querySelector('[data-aksrt-withdraw-account]');
var amount = amountEl ? parseFloat(amountEl.value || '0') : 0;
var rawAmount = amountEl ? String(amountEl.value || '').trim() : '';
var amount = rawAmount ? Number(rawAmount) : 0;
var minAmount = amountEl ? Number(amountEl.getAttribute('data-withdraw-min') || '0') : 0;
var remainingAmount = amountEl ? Number(amountEl.getAttribute('data-withdraw-remaining-amount') || '0') : 0;
var remainingCount = amountEl ? Number(amountEl.getAttribute('data-withdraw-remaining-count') || '0') : 0;
var method = methodEl ? methodEl.value : 'alipay';
var account = accountEl ? String(accountEl.value || '').trim() : '';
if (!(amount > 0)) {
setTip('请输入提现金额', true);
if (!Number.isInteger(amount) || !(amount > 0)) {
setTip('提现金额必须为正整数', true);
return;
}
if (amount < minAmount) {
setTip('提现金额低于最低提现门槛', true);
return;
}
if (remainingCount <= 0) {
setTip('当日提现次数已用尽', true);
return;
}
if (amount > remainingAmount) {
setTip('本次提现后将超出单日提现总额上限', true);
return;
}
if (!account) {
@@ -953,8 +969,20 @@
return;
}
var data = (r.json && r.json.data) ? r.json.data : r.json;
setTip((data && data.message) || '申请已提交,正在刷新…');
window.location.reload();
setTip((data && data.message) || '申请已提交');
closeModal(modal);
var panel = modal.closest ? modal.closest('.dashboard-panel') : null;
panel = panel || document.getElementById('panel-credits');
var rest = (window.aksrtData && (window.aksrtData.restUrl || window.aksrtData.apiUrl)) || (window.aksrtUserCenter && window.aksrtUserCenter.restUrl) || '';
if (panel && rest) {
fetch(rest.replace(/\/$/, '') + '/user-center/panel/credits', { credentials: 'same-origin', headers: { 'X-WP-Nonce': (window.aksrtData && (window.aksrtData.restNonce || window.aksrtData.nonce)) || '' } })
.then(function (response) { return response.json(); })
.then(function (payload) {
if (!payload || !payload.success || !payload.data || typeof payload.data.html !== 'string') return;
panel.innerHTML = payload.data.html;
if (window.AksrtFrontend && typeof window.AksrtFrontend.rehydrate === 'function') window.AksrtFrontend.rehydrate(panel, 'ajax');
});
}
}).catch(function () {
busy = false;
setTip('网络错误,请重试', true);