Files
AIGC/demo/deploy_baota/frontend/static/Payments-d6756fa2.js
AIGC Developer dbd06435cb feat: 完成管理员密码登录修复和项目清理
- 修复BCryptPasswordEncoder密码验证问题
- 实现密码设置提示弹窗功能(仅对无密码用户显示一次)
- 优化修改密码逻辑和验证流程
- 更新Welcome页面背景样式
- 清理临时SQL文件和测试代码
- 移动数据库备份文件到database/backups目录
- 删除不必要的MD文档和临时文件
2025-11-21 16:10:00 +08:00

2 lines
10 KiB
JavaScript

import{E as p,a as _e,c as fe,u as ye}from"./element-plus-83a396df.js";import{g as ve,c as ge,t as Pe}from"./payments-0473ed1e.js";import{_ as Ae,u as be}from"./index-f9e4b253.js";import{r as _,l as N,c as Ce,m as he,al as u,ar as Ie,z as f,A as C,B as i,R as t,J as a,u as j,O as o,K as we,I as D,P as n,M as h,Q as xe,a4 as ke}from"./vue-vendor-164775a6.js";import"./utils-edfcd65b.js";const Le={class:"payments"},De={class:"page-header"},Ee={class:"amount"},Se={class:"description"},Ve={class:"pagination-container"},Me={key:0},Ne={class:"amount"},ze={key:0,class:"payment-description"},Te={class:"subscription-info"},Ue={class:"price"},Ye={class:"description"},$e={class:"benefits"},Fe={class:"points-info"},Be={class:"payment-method"},Ge={key:0,class:"converted-price"},Re={class:"price-display"},Oe={__name:"Payments",setup(He){const J=be(),E=_(!1),z=_([]),y=N({status:"",search:""}),c=N({page:1,size:10,total:0}),S=_(!1),d=_(null),I=_(!1),V=_(!1),T=_(""),v=_("ALIPAY"),L=_(""),U=_(7.2),r=N({title:"",price:0,description:"",benefits:[],points:0}),K=Ce(()=>T.value==="standard"?"标准版订阅":"专业版订阅"),Y=l=>({ALIPAY:"primary",PAYPAL:"success",WECHAT:"success",UNIONPAY:"warning"})[l]||"",$=l=>({ALIPAY:"支付宝",PAYPAL:"PayPal",WECHAT:"微信支付",UNIONPAY:"银联支付"})[l]||l,F=l=>({PENDING:"warning",SUCCESS:"success",FAILED:"danger",CANCELLED:"info"})[l]||"",B=l=>({PENDING:"待支付",SUCCESS:"支付成功",FAILED:"支付失败",CANCELLED:"已取消"})[l]||l,w=l=>new Date(l).toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),g=async()=>{try{E.value=!0;const l=await ve({page:c.page-1,size:c.size,status:y.status,search:y.search});l.success?(z.value=l.data,c.total=l.total||l.data.length):p.error(l.message||"获取支付记录失败")}catch(l){console.error("Fetch payments error:",l),p.error("获取支付记录失败")}finally{E.value=!1}},Q=()=>{c.page=1,g()},q=()=>{c.page=1,g()},X=()=>{y.status="",y.search="",c.page=1,g()},Z=l=>{c.size=l,c.page=1,g()},ee=l=>{c.page=l,g()},te=l=>{d.value=l,S.value=!0},G=()=>{if(v.value==="ALIPAY"){const l=(r.price*U.value).toFixed(2);L.value=`¥${l}`}else v.value==="PAYPAL"&&(L.value=`$${r.price}`)},R=l=>{if(!J.isAuthenticated){p.warning("请先登录后再订阅");return}T.value=l,l==="standard"?(r.title="标准版订阅",r.price=59,r.description="适合个人用户的基础功能订阅",r.benefits=["基础AI功能使用","每月100次API调用","邮件技术支持","基础模板库访问"],r.points=200):l==="professional"&&(r.title="专业版订阅",r.price=259,r.description="适合企业用户的高级功能订阅",r.benefits=["高级AI功能使用","每月1000次API调用","优先技术支持","完整模板库访问","API接口集成","数据分析报告"],r.points=1e3),I.value=!0,G()},ae=async()=>{try{V.value=!0;let l;v.value==="ALIPAY"?l=(r.price*U.value).toFixed(2):l=r.price.toString();const e=await ge({amount:l,method:v.value});if(e.success){if(p.success(`${r.title}支付记录创建成功`),v.value==="ALIPAY")try{const m=await createAlipayPayment({paymentId:e.data.id});m.success?(window.open(m.data.paymentUrl,"_blank"),p.success("正在跳转到支付宝支付页面")):p.error(m.message||"创建支付宝支付失败")}catch(m){console.error("创建支付宝支付失败:",m),p.error("创建支付宝支付失败")}else if(v.value==="PAYPAL")try{const m=await createPayPalPayment({paymentId:e.data.id});m.success?(window.open(m.data.paymentUrl,"_blank"),p.success("正在跳转到PayPal支付页面")):p.error(m.message||"创建PayPal支付失败")}catch(m){console.error("创建PayPal支付失败:",m),p.error("创建PayPal支付失败")}I.value=!1,g()}else p.error(e.message||"创建订阅支付记录失败")}catch(l){console.error("Create subscription error:",l),p.error("创建订阅支付记录失败")}finally{V.value=!1}},se=async l=>{try{await _e.confirm(`确定要测试完成支付 ${l.orderId} 吗?这将自动创建订单。`,"确认测试",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"});const e=await Pe(l.id);e.success?(p.success("支付完成测试成功,订单已自动创建"),g()):p.error(e.message||"测试支付完成失败")}catch(e){e!=="cancel"&&(console.error("Test payment complete error:",e),p.error("测试支付完成失败"))}};return he(()=>{g()}),(l,e)=>{const m=u("el-icon"),x=u("el-option"),le=u("el-select"),M=u("el-col"),oe=u("el-input"),b=u("el-button"),ne=u("el-row"),O=u("el-card"),re=u("router-link"),P=u("el-table-column"),k=u("el-tag"),ie=u("el-table"),ue=u("el-pagination"),A=u("el-descriptions-item"),de=u("el-descriptions"),H=u("el-dialog"),W=u("el-radio"),pe=u("el-radio-group"),ce=Ie("loading");return f(),C("div",Le,[i("div",De,[i("h2",null,[t(m,null,{default:a(()=>[t(j(fe))]),_:1}),e[10]||(e[10]=o(" 支付记录 ",-1))])]),t(O,{class:"filter-card"},{default:a(()=>[t(ne,{gutter:20},{default:a(()=>[t(M,{xs:24,sm:12,md:8},{default:a(()=>[t(le,{modelValue:y.status,"onUpdate:modelValue":e[0]||(e[0]=s=>y.status=s),placeholder:"选择支付状态",clearable:"",onChange:Q},{default:a(()=>[t(x,{label:"全部状态",value:""}),t(x,{label:"待支付",value:"PENDING"}),t(x,{label:"支付成功",value:"SUCCESS"}),t(x,{label:"支付失败",value:"FAILED"}),t(x,{label:"已取消",value:"CANCELLED"})]),_:1},8,["modelValue"])]),_:1}),t(M,{xs:24,sm:12,md:8},{default:a(()=>[t(oe,{modelValue:y.search,"onUpdate:modelValue":e[1]||(e[1]=s=>y.search=s),placeholder:"搜索订单号",clearable:"",onInput:q},{prefix:a(()=>[t(m,null,{default:a(()=>[t(j(ye))]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(M,{xs:24,sm:12,md:8},{default:a(()=>[t(b,{onClick:X},{default:a(()=>[...e[11]||(e[11]=[o("重置筛选",-1)])]),_:1}),t(b,{type:"success",onClick:e[2]||(e[2]=s=>R("standard"))},{default:a(()=>[...e[12]||(e[12]=[o("标准版订阅",-1)])]),_:1}),t(b,{type:"warning",onClick:e[3]||(e[3]=s=>R("professional"))},{default:a(()=>[...e[13]||(e[13]=[o("专业版订阅",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),t(O,{class:"payments-card"},{default:a(()=>[we((f(),D(ie,{data:z.value,"empty-text":"暂无支付记录"},{default:a(()=>[t(P,{prop:"orderId",label:"订单号",width:"150"},{default:a(({row:s})=>[t(re,{to:`/orders/${s.orderId}`,class:"order-link"},{default:a(()=>[o(n(s.orderId),1)]),_:2},1032,["to"])]),_:1}),t(P,{prop:"amount",label:"金额",width:"120"},{default:a(({row:s})=>[i("span",Ee,n(s.currency)+" "+n(s.amount),1)]),_:1}),t(P,{prop:"paymentMethod",label:"支付方式",width:"120"},{default:a(({row:s})=>[t(k,{type:Y(s.paymentMethod)},{default:a(()=>[o(n($(s.paymentMethod)),1)]),_:2},1032,["type"])]),_:1}),t(P,{prop:"status",label:"状态",width:"120"},{default:a(({row:s})=>[t(k,{type:F(s.status)},{default:a(()=>[o(n(B(s.status)),1)]),_:2},1032,["type"])]),_:1}),t(P,{prop:"description",label:"描述","min-width":"200"},{default:a(({row:s})=>[i("span",Se,n(s.description),1)]),_:1}),t(P,{prop:"createdAt",label:"创建时间",width:"160"},{default:a(({row:s})=>[o(n(w(s.createdAt)),1)]),_:1}),t(P,{prop:"paidAt",label:"支付时间",width:"160"},{default:a(({row:s})=>[o(n(s.paidAt?w(s.paidAt):"-"),1)]),_:1}),t(P,{label:"操作",width:"200",fixed:"right"},{default:a(({row:s})=>[t(b,{size:"small",onClick:me=>te(s)},{default:a(()=>[...e[14]||(e[14]=[o(" 查看详情 ",-1)])]),_:1},8,["onClick"]),s.status==="PENDING"?(f(),D(b,{key:0,size:"small",type:"success",onClick:me=>se(s)},{default:a(()=>[...e[15]||(e[15]=[o(" 测试完成 ",-1)])]),_:1},8,["onClick"])):h("",!0)]),_:1})]),_:1},8,["data"])),[[ce,E.value]]),i("div",Ve,[t(ue,{"current-page":c.page,"onUpdate:currentPage":e[4]||(e[4]=s=>c.page=s),"page-size":c.size,"onUpdate:pageSize":e[5]||(e[5]=s=>c.size=s),"page-sizes":[10,20,50,100],total:c.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:Z,onCurrentChange:ee},null,8,["current-page","page-size","total"])])]),_:1}),t(H,{modelValue:S.value,"onUpdate:modelValue":e[6]||(e[6]=s=>S.value=s),title:"支付详情",width:"600px"},{default:a(()=>[d.value?(f(),C("div",Me,[t(de,{column:2,border:""},{default:a(()=>[t(A,{label:"订单号"},{default:a(()=>[o(n(d.value.orderId),1)]),_:1}),t(A,{label:"支付方式"},{default:a(()=>[t(k,{type:Y(d.value.paymentMethod)},{default:a(()=>[o(n($(d.value.paymentMethod)),1)]),_:1},8,["type"])]),_:1}),t(A,{label:"支付金额"},{default:a(()=>[i("span",Ne,n(d.value.currency)+" "+n(d.value.amount),1)]),_:1}),t(A,{label:"支付状态"},{default:a(()=>[t(k,{type:F(d.value.status)},{default:a(()=>[o(n(B(d.value.status)),1)]),_:1},8,["type"])]),_:1}),d.value.externalTransactionId?(f(),D(A,{key:0,label:"外部交易ID"},{default:a(()=>[o(n(d.value.externalTransactionId),1)]),_:1})):h("",!0),t(A,{label:"创建时间"},{default:a(()=>[o(n(w(d.value.createdAt)),1)]),_:1}),d.value.paidAt?(f(),D(A,{key:1,label:"支付时间"},{default:a(()=>[o(n(w(d.value.paidAt)),1)]),_:1})):h("",!0),t(A,{label:"更新时间"},{default:a(()=>[o(n(w(d.value.updatedAt)),1)]),_:1})]),_:1}),d.value.description?(f(),C("div",ze,[e[16]||(e[16]=i("h4",null,"支付描述",-1)),i("p",null,n(d.value.description),1)])):h("",!0)])):h("",!0)]),_:1},8,["modelValue"]),t(H,{modelValue:I.value,"onUpdate:modelValue":e[9]||(e[9]=s=>I.value=s),title:K.value,width:"500px"},{footer:a(()=>[t(b,{onClick:e[8]||(e[8]=s=>I.value=!1)},{default:a(()=>[...e[22]||(e[22]=[o("取消",-1)])]),_:1}),t(b,{type:"primary",onClick:ae,loading:V.value},{default:a(()=>[...e[23]||(e[23]=[o(" 立即订阅 ",-1)])]),_:1},8,["loading"])]),default:a(()=>[i("div",Te,[i("h3",null,n(r.title),1),i("p",Ue,"$"+n(r.price),1),i("p",Ye,n(r.description),1),i("div",$e,[e[17]||(e[17]=i("h4",null,"包含功能:",-1)),i("ul",null,[(f(!0),C(xe,null,ke(r.benefits,s=>(f(),C("li",{key:s},n(s),1))),128))])]),i("div",Fe,[t(k,{type:"success"},{default:a(()=>[o("支付完成后可获得 "+n(r.points)+" 积分",1)]),_:1})]),i("div",Be,[e[21]||(e[21]=i("h4",null,"选择支付方式:",-1)),t(pe,{modelValue:v.value,"onUpdate:modelValue":e[7]||(e[7]=s=>v.value=s),onChange:G},{default:a(()=>[t(W,{label:"ALIPAY"},{default:a(()=>[...e[18]||(e[18]=[o("支付宝",-1)])]),_:1}),t(W,{label:"PAYPAL"},{default:a(()=>[...e[19]||(e[19]=[o("PayPal",-1)])]),_:1})]),_:1},8,["modelValue"]),L.value?(f(),C("div",Ge,[i("p",null,[e[20]||(e[20]=o("支付金额:",-1)),i("span",Re,n(L.value),1)])])):h("",!0)])])]),_:1},8,["modelValue","title"])])}}},qe=Ae(Oe,[["__scopeId","data-v-a25db079"]]);export{qe as default};