File: /www/server/panel/BTPanel/static/js/add-redirect2.js
import{X as k,d_ as h,B as s,W as v,cN as L,cO as R,cP as A}from"./utils-lib.js?v=1777008528";import{c as N,g as O,e as l,o as j,j as d,C as m,v as i,p as o,q as g,x as y,k as q,F as I,B as $,z,am as H,an as M,ad as P}from"./base-lib.js?v=1777008528";import{r as f,s as S,g as T,d as V,a as W}from"./index365.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./useController20.js?v=1777008528";import"./index3.js?v=1777008528";import"./index119.js?v=1777008528";import"./index116.js?v=1777008528";import"./useController19.js?v=1777008528";import"./site.js?v=1777008528";import"./useStore2.js?v=1777008528";import"./useController13.js?v=1777008528";import"./useMethod12.js?v=1777008528";import"./index192.js?v=1777008528";import"./index118.js?v=1777008528";import"./index190.js?v=1777008528";import"./form-item.js?v=1777008528";import"./index130.js?v=1777008528";import"./ace.js?v=1777008528";import"./index206.js?v=1777008528";const X={class:"flex items-center"},D={class:"flex items-center justify-center checked-button"},he=N({__name:"add-redirect",setup(G,{expose:b}){const B=t=>{a.value.redirectdomain=V.value.map(e=>e.name)},w=t=>{a.value.redirectdomain=[]},{BtForm:C,param:a,submit:U,clearValidate:F}=k({data:()=>{let t={type:!0,holdpath:!0,domainorpath:"domain",redirecttype:"301",redirectpath:"",tourl:"http://",redirectdomain:[],redirectname:""};if(f.value){const{type:e,holdpath:r,...n}=f.value;Object.assign(t,{type:e===1,holdpath:r===1,...n})}return t},options:t=>O(()=>[{type:"custom",render:()=>l(s,{label:"开启重定向"},{default:()=>[l("div",{class:"flex items-center"},[l(h,{modelValue:t.value.type,"onUpdate:modelValue":e=>t.value.type=e},null),l(s,{label:"保留URL参数",style:"margin-left: 4rem;"},{default:()=>[l(h,{modelValue:t.value.holdpath,"onUpdate:modelValue":e=>t.value.holdpath=e},null)]})])]})},{type:"custom",render:()=>l(s,{label:"重定向类型"},{default:()=>[l("div",{class:"flex items-center"},[l(v,{modelValue:t.value.domainorpath,"onUpdate:modelValue":e=>t.value.domainorpath=e,options:[{label:"域名",value:"domain"},{label:"路径",value:"path"}],onChange:e=>{F()},style:"width: 15rem;"},null),l(s,{label:"重定向方式"},{default:()=>[l(v,{modelValue:t.value.redirecttype,"onUpdate:modelValue":e=>t.value.redirecttype=e,options:[{label:"301(永久重定向)",value:"301"},{label:"302(临时重定向)",value:"302"}],style:"width: 15rem;"},null)]})])]})},{type:"slots",key:"domain",rules:{tourl:[L({message:"请输入目标URL",trigger:"blur"}),{validator:(e,r,n)=>{if(r==="http://"||r==="https://")n(new Error("请输入目标URL"));else try{new URL(r),n()}catch(c){n(new Error("请输入正确的URL"))}},trigger:["change","input"]}],redirectdomain:[{required:!0,message:"请选择重定向域名",trigger:"change"},{validator:(e,r,n)=>{r.length===0&&t.value.domainorpath==="domain"?n(new Error("请选择重定向域名")):n()},trigger:["change"]}],redirectpath:[{required:!0,message:"请输入重定向路径",trigger:"blur"}]}}]),submit:async(t,e)=>(await e(),await S(t.value))});return j(T),b({onConfirm:U}),(t,e)=>{const r=z,n=H,c=M,_=R,p=P,x=A;return d(),m(o(C),{class:"p-[2rem]"},{domain:i(()=>[l(p,{prop:o(a).domainorpath==="domain"?"redirectdomain":"redirectpath",label:"重定向".concat(o(a).domainorpath==="domain"?"域名":"路径")},{default:i(()=>[g("div",X,[o(a).domainorpath==="domain"?(d(),m(c,{key:0,"collapse-tags":"",multiple:"",style:{width:"15rem"},modelValue:o(a).redirectdomain,"onUpdate:modelValue":e[0]||(e[0]=u=>o(a).redirectdomain=u)},{header:i(()=>[g("div",D,[l(r,{onClick:B,type:"default"},{default:i(()=>[...e[3]||(e[3]=[y("全选",-1)])]),_:1}),l(r,{onClick:w,type:"default"},{default:i(()=>[...e[4]||(e[4]=[y("取消全选",-1)])]),_:1})])]),default:i(()=>[(d(!0),q(I,null,$(o(V),(u,E)=>(d(),m(n,{key:E,value:u.name,label:u.name},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])):(d(),m(_,{key:1,width:"15rem",modelValue:o(a).redirectpath,"onUpdate:modelValue":e[1]||(e[1]=u=>o(a).redirectpath=u),placeholder:"如:/b.com"},null,8,["modelValue"])),l(p,{label:"目标url",prop:"tourl"},{default:i(()=>[l(_,{modelValue:o(a).tourl,"onUpdate:modelValue":e[2]||(e[2]=u=>o(a).tourl=u),width:"24rem"},null,8,["modelValue"])]),_:1})])]),_:1},8,["prop","label"]),l(p,null,{default:i(()=>[l(x,{options:o(W),"list-style":"disc"},null,8,["options"])]),_:1})]),_:1})}}});export{he as default};