PageSourceSearch

https://nickz.ai/assets/js/index-DixDMhro.js

js nickz.ai collected 2026-10-05 14:20:12 UTC 6,851 bytes, 1 lines download raw bytes

1import{j as e,r as a}from"./vendor-react-DejgYtBM.js";import{u as t,$ as s,a2 as n,Y as r,Z as l,aq as i,N as c,A as o,s as d,w as p}from"./index-BeIIFw6E.js";import{f as h,o as u,j as x,k as m,x as j,B as g,E as y,J as v,K as f,i as _}from"./vendor-semi-D8d7bTtM.js";import{C as w}from"./CardTable-Cq0lqlnD.js";import{X as S,w as b}from"./vendor-icons-EJvJ5X-w.js";import"./vendor-motion-Chfy_MiU.js";import"./useIsMobile-D_kfVI0u.js";const{Text:O}=h,C=()=>{const{t:h}=t(),C=s()||n();function I(a){switch(a){case 1:return e.jsx(_,{color:"blue",shape:"circle",children:h("普通余额")});case 2:return e.jsx(_,{color:"green",shape:"circle",children:h("邀请余额")});default:return e.jsx(_,{color:"grey",shape:"circle",children:h("未知")})}}function F(a){switch(a){case 1:return e.jsx(_,{color:"cyan",shape:"circle",children:h("充值")});case 3:return e.jsx(_,{color:"orange",shape:"circle",children:h("管理")});case 4:return e.jsx(_,{color:"purple",shape:"circle",children:h("系统")});case 5:return e.jsx(_,{color:"green",shape:"circle",children:h("注册奖励")});case 6:return e.jsx(_,{color:"green",shape:"circle",children:h("充值奖励")});case 7:return e.jsx(_,{color:"blue",shape:"circle",children:h("代理分成")});case 8:return e.jsx(_,{color:"amber",shape:"circle",children:h("划转")});case 9:return e.jsx(_,{color:"violet",shape:"circle",children:h("提现")});case 10:return e.jsx(_,{color:"lime",shape:"circle",children:h("退款")});default:return e.jsx(_,{color:"grey",shape:"circle",children:h("未知")})}}function T(e,a,t=6){if(2===a){let a=localStorage.getItem("quota_per_unit");a=parseFloat(a);let t=localStorage.getItem("original_price");return t=parseFloat(t)||.5,`¥${(e/a*t).toFixed(2)}`}return c(e,t)}const k=[{title:h("时间"),dataIndex:"created_at",render:(a,t,s)=>e.jsx(e.Fragment,{children:r(a)})}];C&&k.push({title:h("用户"),dataIndex:"username",render:(a,t,s)=>e.jsxs("div",{children:[e.jsx(O,{strong:!0,children:a}),t.display_name&&e.jsx("div",{children:e.jsx(O,{size:"small",type:"tertiary",children:t.display_name})})]})}),k.push({title:h("余额类型"),dataIndex:"balance_type",render:(a,t,s)=>e.jsx(e.Fragment,{children:I(a)})},{title:h("变动类型"),dataIndex:"change_type",render:(a,t,s)=>e.jsx(e.Fragment,{children:F(a)})},{title:h("变动金额"),dataIndex:"change_amount",render:(a,t,s)=>{return e.jsx(e.Fragment,{children:(n=a,r=t.balance_type,n>0?e.jsxs(O,{type:"success",children:["+",T(n,r)]}):n<0?e.jsx(O,{type:"danger",children:T(n,r)}):e.jsx(O,{children:T(n,r)}))});var n,r}},{title:h("变动前余额"),dataIndex:"before_balance",render:(a,t,s)=>e.jsx(e.Fragment,{children:T(a,t.balance_type)})},{title:h("变动后余额"),dataIndex:"after_balance",render:(a,t,s)=>e.jsx(e.Fragment,{children:T(a,t.balance_type)})},{title:h("说明"),dataIndex:"description",render:(a,t,s)=>e.jsx(O,{ellipsis:{showTooltip:!0},style:{width:200},children:a})});const[z,U]=a.useState([]),[D,R]=a.useState(!1),[L,E]=a.useState(!1),[P,$]=a.useState(1),[B,N]=a.useState(l),[q,J]=a.useState(l),[M,A]=a.useState(""),[K,V]=a.useState("username"),[W,X]=a.useState(0),[Y,Z]=a.useState(0),[G,H]=a.useState(i()),[Q,ee]=a.useState(Date.parse(new Date)/1e3+3600),ae=async e=>{R(!0);try{let a="",t={page:e,page_size:q};W>0&&(t.balance_type=W),Y>0&&(t.change_type=Y),G>0&&(t.start_timestamp=G),Q>0&&(t.end_timestamp=Q),""!==M&&(t.keyword=M,t.search_type=K),a=C?"/api/balance_log/":"/api/balance_log/self";const s=await o.get(a,{params:t}),{success:n,message:r,data:l}=s.data;n?($(e),U(l.logs||[]),N(l.total||0)):d(r)}catch(a){d(a.message)}finally{R(!1)}};return a.useEffect(()=>{ae(1)},[q,W,Y]),e.jsxs(e.Fragment,{children:[e.jsx(u,{layout:"horizontal",style:{marginBottom:20},children:e.jsxs(x,{wrap:!0,children:[C&&e.jsxs(e.Fragment,{children:[e.jsxs(m,{value:K,onChange:e=>V(e),style:{width:120},children:[e.jsx(m.Option,{value:"username",children:h("用户名")}),e.jsx(m.Option,{value:"id",children:h("用户 ID")})]}),e.jsx(u.Input,{placeholder:h("搜索关键词"),value:M,onChange:e=>A(e),style:{width:200}})]}),e.jsxs(m,{value:W,onChange:e=>X(e),style:{width:150},children:[e.jsx(m.Option,{value:0,children:h("全部余额类型")}),e.jsx(m.Option,{value:1,children:h("普通余额")}),e.jsx(m.Option,{value:2,children:h("邀请余额")})]}),e.jsxs(m,{value:Y,onChange:e=>Z(e),style:{width:150},children:[e.jsx(m.Option,{value:0,children:h("全部变动类型")}),e.jsx(m.Option,{value:1,children:h("充值")}),e.jsx(m.Option,{value:3,children:h("管理")}),e.jsx(m.Option,{value:4,children:h("系统")}),e.jsx(m.Option,{value:5,children:h("注册奖励")}),e.jsx(m.Option,{value:6,children:h("充值奖励")}),e.jsx(m.Option,{value:7,children:h("代理分成")}),e.jsx(m.Option,{value:8,children:h("划转")}),e.jsx(m.Option,{value:9,children:h("提现")}),e.jsx(m.Option,{value:10,children:h("退款")})]}),e.jsx(j,{type:"dateTime",placeholder:h("开始时间"),value:new Date(1e3*G),onChange:e=>{H(e?e.getTime()/1e3:0)}}),e.jsx(j,{type:"dateTime",placeholder:h("结束时间"),value:new Date(1e3*Q),onChange:e=>{ee(e?e.getTime()/1e3:0)}}),e.jsx(g,{type:"primary",icon:e.jsx(S,{size:16}),onClick:()=>ae(1),children:h("查询")}),C&&e.jsx(g,{icon:e.jsx(b,{size:16}),loading:L,onClick:async()=>
1{if(C){E(!0);try{const a=new URLSearchParams;W>0&&a.set("balance_type",String(W)),Y>0&&a.set("change_type",String(Y)),G>0&&a.set("start_timestamp",String(G)),Q>0&&a.set("end_timestamp",String(Q)),""!==M&&(a.set("keyword",M),a.set("search_type",K));const t=a.toString(),s="/api/balance_log/export/xlsx"+(t?`?${t}`:""),n=await o.get(s,{responseType:"blob",disableDuplicate:!0});if((n.headers["content-type"]||"").toLowerCase().includes("application/json")){const a=await n.data.text();let t="导出失败";try{const e=JSON.parse(a);e.message&&(t=e.message)}catch(e){}return void d(t)}const r=new Blob([n.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),l=window.URL.createObjectURL(r),i=document.createElement("a");i.href=l;const c=n.headers["content-disposition"];let u=`balance_logs_${(new Date).toISOString().slice(0,10)}.xlsx`;if(c){const e=c.match(/filename\*=UTF-8''([^;\s]+)/i);if(e)u=decodeURIComponent(e[1]);else{const e=c.match(/filename="?([^";\s]+)"?/i);e&&(u=decodeURIComponent(e[1]))}}i.download=u,document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(l),p(h("导出成功"))}catch(a){d(a.message||h("导出失败"))}finally{E(!1)}}},children:h("导出 Excel")})]})}),e.jsx(w,{columns:k,dataSource:z,pagination:{currentPage:P,pageSize:q,total:B,pageSizeOpts:[10,20,50,100],onPageChange:e=>{$(e),ae(e)},onPageSizeChange:e=>{J(e),$(1)}},loading:D,empty:e.jsx(y,{image:e.jsx(f,{}),darkModeImage:e.jsx(v,{}),description:h("暂无数据")})})]})},I=()=>e.jsx("div",{className:"px-2",children:e.jsx(C,{})});export{I as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.