2 lines
5.3 KiB
JavaScript
2 lines
5.3 KiB
JavaScript
(function(t,c){if(typeof module=="object"&&module.exports){module.exports=c(t);return}t.EarningPages=c(t),t.document&&t.document.addEventListener("DOMContentLoaded",t.EarningPages.init)})(typeof globalThis!="undefined"?globalThis:window,function(t){"use strict";function c(r){return t.ProfileUI&&typeof t.ProfileUI.confirmAction=="function"?t.ProfileUI.confirmAction(r):Promise.resolve(!t.confirm||t.confirm(r))}var D={PENDING:"待审核",APPROVED:"已通过",PAYING:"打款中",PAID:"已到账",REJECTED:"已驳回",FAILED:"打款失败",CANCELLED:"已取消"},N={PAYMENT_REWARD:"推广奖励",PAYMENT_REFUND_REVERSAL:"退款冲销",WITHDRAWAL_FREEZE:"提现冻结",WITHDRAWAL_CANCEL:"取消提现",WITHDRAWAL_REJECT:"提现驳回",WITHDRAWAL_PAID:"提现到账",WITHDRAWAL_FAILED:"提现失败"};function i(r){return String(r==null?"":r).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function f(r){var e=String(r==null?"":r).trim();return/^(?:0|[1-9][0-9]*)(?:\.[0-9]{1,2})?$/.test(e)?e:""}function g(){return t.crypto&&typeof t.crypto.randomUUID=="function"?t.crypto.randomUUID():"pc-"+Date.now()+"-"+Math.random().toString(16).slice(2)}function p(r){var e=f(r),a;return e?(a=e.split("."),BigInt(a[0])*BigInt(100)+BigInt((a[1]||"").padEnd(2,"0"))):null}function y(r,e){var a=r||{};return{requestId:String(e||"").trim(),amount:f(a.amount),payoutQrOssId:String(a.payoutQrOssId||"").trim(),payoutAccountName:String(a.payoutAccountName||"").trim()}}function v(r,e){return r.requestId?!r.amount||Number(r.amount)<=0?"请输入有效提现金额,最多两位小数":p(e)!==null&&p(r.amount)>p(e)?"提现金额不能超过可用余额":/^[1-9][0-9]*$/.test(r.payoutQrOssId)?r.payoutAccountName?r.payoutAccountName.length>64?"收款人姓名不能超过 64 个字符":"":"请填写收款人姓名":"请上传收款码":"提现请求号生成失败,请刷新页面重试"}function A(r){var e=r||{};return'<div class="module-grid three"><div class="module-card"><h3>可用收益</h3><strong>¥'+i(e.availableAmount||"0.00")+'</strong></div><div class="module-card"><h3>冻结金额</h3><strong>¥'+i(e.frozenAmount||"0.00")+'</strong></div><div class="module-card"><h3>最低提现</h3><strong>'+i(e.minimumWithdrawal?"¥"+e.minimumWithdrawal:"以提交校验为准")+"</strong></div></div>"}function h(r){var e=r&&Array.isArray(r.rows)?r.rows:[];return e.length?e.map(function(a){return'<article class="module-row"><div><h3>'+i(N[a.entryType]||a.entryType||"收益变动")+"</h3><p>"+i([a.createTime,a.remark].filter(Boolean).join(" · "))+"</p></div><strong>"+i(String(a.availableDelta||"0.00"))+"</strong></article>"}).join(""):'<div class="api-empty">当前没有收益流水</div>'}function E(r){var e=r&&Array.isArray(r.rows)?r.rows:[];return e.length?e.map(function(a){var m=String(a.withdrawalId||"").trim();return'<article class="module-row"><div><h3>提现 ¥'+i(a.amount||"0.00")+"</h3><p>"+i([a.withdrawalNo,a.payoutAccountName,a.createTime,a.auditRemark,a.failureReason].filter(Boolean).join(" · "))+'</p></div><span class="pill">'+i(D[a.withdrawalStatus]||a.withdrawalStatus||"未知")+"</span>"+(a.withdrawalStatus==="PENDING"&&/^[1-9][0-9]*$/.test(m)?'<button class="btn outline" type="button" data-withdrawal-cancel="'+i(m)+'">取消</button>':"")+"</article>"}).join(""):'<div class="api-empty">当前没有提现记录</div>'}async function L(){var r=t.document&&t.document.querySelector("[data-earning-page]"),e=t.GenealogyApi&&t.GenealogyApi.defaultClient,a=r&&r.querySelector("[data-earning-summary]"),m=r&&r.querySelector("[data-earning-ledger]"),I=r&&r.querySelector("[data-earning-withdrawals]"),o=r&&r.querySelector("[data-withdrawal-form]"),S=r&&r.querySelector("[data-earning-status]"),T="",W=g(),d=!1;if(!r)return;if(!e||!e.getToken||!e.getToken()){t.NavigationUtil.open("login.html");return}function u(n,l){n?t.ProfileUI.setApiState(S,n,l):S.textContent=l||""}async function w(){var n=await Promise.all([e.earningSummary(),e.earningLedger({pageNum:1,pageSize:20}),e.earningWithdrawals({pageNum:1,pageSize:20})]);return T=String(n[0]&&n[0].availableAmount||""),a.innerHTML=A(n[0]),m.innerHTML=h(n[1]),I.innerHTML=E(n[2]),o.querySelector("[data-withdrawal-submit]").disabled=n[0]&&n[0].withdrawalEnabled===!1,n}try{await w(),u("","收益数据已加载")}catch(n){u("error",n.message||"收益数据读取失败");return}o.addEventListener("submit",async function(n){var l,s;if(n.preventDefault(),!d){if(l=y({amount:o.elements.amount.value,payoutAccountName:o.elements.payoutAccountName.value,payoutQrOssId:o.elements.payoutQrOssId.value},W),s=v(l,T),s)return u("error",s);d=!0,u("loading","正在提交提现申请…");try{await e.createEarningWithdrawal(l),W=g(),o.reset(),o.elements.payoutQrOssId.value="",await w(),u("","提现申请已提交")}catch(R){u("error",R.message||"提现申请失败")}finally{d=!1}}}),I.addEventListener("click",async function(n){var l=n.target.closest("[data-withdrawal-cancel]");if(!(!l||d||!await c("确认取消这笔待审核提现吗?"))){d=!0,u("loading","正在取消提现…");try{await e.cancelEarningWithdrawal(l.getAttribute("data-withdrawal-cancel")),await w(),u("","提现已取消")}catch(s){u("error",s.message||"取消提现失败")}finally{d=!1}}})}return{normalizeMoney:f,createRequestId:g,buildWithdrawalBody:y,validateWithdrawalBody:v,renderSummary:A,renderLedger:h,renderWithdrawals:E,init:L}});
|