HaniBlindBox/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/h5-CONJGIdf.js
2026-02-04 02:41:34 +08:00

2 lines
4.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{d as W,r as c,v as $,o as q,g as m,J as I,c as h,k as u,K as J,z as w,w as r,H as K,e as l,t as d,l as p,C as H,F as L,y as Q,Q as A,b as k,E as i,D as j,_ as G}from"./index-DDgEYuzO.js";import{c as O,d as X,e as Y,g as Z}from"./config-BiDWLENq.js";import ee from"./H5AppForm-D5wiKGTs.js";const ae={class:"page-container"},te={class:"card-header"},ne={class:"header-actions"},se={key:1,class:"h5app-list"},le={key:2,class:"footer-actions"},re=W({__name:"h5",setup(oe){const g=c(!1),f=c(!1),t=c([]),C=c([]),D=c([]),_=c([]),B=$(()=>t.value.map(n=>n.order_prefix||"")),y=()=>({name:"",appid:"",appsecret:"",domain:"",order_prefix:"",is_default:t.value.length===0?1:0,pay_type:"wechat",wx_merchants:[],ali_merchant_index:-1}),M=async()=>{var n,e;try{const a=await Y();(e=(n=a.data)==null?void 0:n.value)!=null&&e.merchants&&(C.value=a.data.value.merchants)}catch(a){console.error("加载微信支付商户列表失败:",a)}},S=async()=>{var n,e;try{const a=await Z();(e=(n=a.data)==null?void 0:n.value)!=null&&e.merchants&&(D.value=a.data.value.merchants)}catch(a){console.error("加载支付宝商户列表失败:",a)}},F=async()=>{g.value=!0;try{await Promise.all([P(),M(),S()])}finally{g.value=!1}},P=async()=>{var n,e;try{const a=await O();(e=(n=a.data)==null?void 0:n.value)!=null&&e.h5apps&&a.data.value.h5apps.length>0?t.value=a.data.value.h5apps.map(s=>({name:s.name||"",appid:s.appid||"",appsecret:s.appsecret||"",domain:s.domain||"",order_prefix:s.order_prefix||"",is_default:s.is_default??0,pay_type:s.pay_type||"wechat",wx_merchants:s.wx_merchants||[],ali_merchant_index:s.ali_merchant_index??-1})):t.value=[y()]}catch(a){i.error("加载配置失败"),console.error("加载配置失败:",a),t.value=[y()]}},x=()=>{t.value.push(y()),i.success("已添加新H5应用请填写配置信息")},b=async n=>{if(t.value.length<=1){i.warning("至少保留一个H5应用配置");return}const e=t.value[n].is_default===1;try{await j.confirm(`确定要删除H5应用"${t.value[n].name||"未命名"}"吗?${e?"该应用为默认H5应用删除后请设置新的默认应用":""}`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),t.value.splice(n,1),e&&t.value.length>0&&(t.value[0].is_default=1,i.info("已将第一个H5应用设为默认")),i.success("已删除H5应用")}catch{}},E=()=>{},N=n=>{t.value.forEach((e,a)=>{a!==n&&(e.is_default=0)})},T=async()=>!_.value||_.value.length===0?!0:(await Promise.all(_.value.map(e=>{var a;return((a=e==null?void 0:e.validate)==null?void 0:a.call(e))??Promise.resolve(!0)}))).every(e=>e===!0),V=async()=>{if(!await T()){i.warning("请检查表单填写是否正确");return}if(t.value.length===0){i.warning("至少需要配置一个H5应用");return}if(!t.value.some(o=>o.is_default===1)){i.warning("必须设置一个默认H5应用");return}const a=t.value.map(o=>o.order_prefix).filter(o=>o),s=new Set(a);if(a.length!==s.size){i.warning("存在重复的订单前缀,请检查");return}f.value=!0;try{const o={h5apps:t.value};await X(o),i.success("保存成功")}catch(o){i.error("保存失败"),console.error("保存配置失败:",o)}finally{f.value=!1}};return q(()=>{F()}),(n,e)=>{const a=m("el-icon"),s=m("el-button"),o=m("el-empty"),z=m("el-card"),R=I("loading");return u(),h("div",ae,[J((u(),w(z,null,{header:r(()=>[k("div",te,[e[2]||(e[2]=k("span",null,"H5配置",-1)),k("div",ne,[l(s,{type:"primary",onClick:x},{default:r(()=>[l(a,null,{default:r(()=>[l(p(H))]),_:1}),e[0]||(e[0]=d("添加H5应用 ",-1))]),_:1}),l(s,{type:"success",loading:f.value,onClick:V},{default:r(()=>[l(a,null,{default:r(()=>[l(p(A))]),_:1}),e[1]||(e[1]=d("保存配置 ",-1))]),_:1},8,["loading"])])])]),default:r(()=>[t.value.length===0?(u(),w(o,{key:0,description:"暂无H5应用配置请点击添加H5应用"},{default:r(()=>[l(s,{type:"primary",onClick:x},{default:r(()=>[l(a,null,{default:r(()=>[l(p(H))]),_:1}),e[3]||(e[3]=d("添加H5应用 ",-1))]),_:1})]),_:1})):(u(),h("div",se,[(u(!0),h(L,null,Q(t.value,(ie,v)=>(u(),w(ee,{key:v,ref_for:!0,ref_key:"h5appFormRefs",ref:_,modelValue:t.value[v],"onUpdate:modelValue":U=>t.value[v]=U,index:v,"can-delete":t.value.length>1,"existing-prefixes":B.value,"weixin-merchants":C.value,"alipay-merchants":D.value,onDelete:b,onChange:E,onDefaultChange:N},null,8,["modelValue","onUpdate:modelValue","index","can-delete","existing-prefixes","weixin-merchants","alipay-merchants"]))),128))])),t.value.length>0?(u(),h("div",le,[l(s,{type:"primary",onClick:x},{default:r(()=>[l(a,null,{default:r(()=>[l(p(H))]),_:1}),e[4]||(e[4]=d("添加H5应用 ",-1))]),_:1}),l(s,{type:"success",loading:f.value,onClick:V},{default:r(()=>[l(a,null,{default:r(()=>[l(p(A))]),_:1}),e[5]||(e[5]=d("保存配置 ",-1))]),_:1},8,["loading"])])):K("",!0)]),_:1})),[[R,g.value]])])}}}),pe=G(re,[["__scopeId","data-v-3ab4e39e"]]);export{pe as default};