Files
wordpress-theme-aksrt/assets/admin/build/FloatingButtonsSettings.i1suZZSa.js
T
kate522 39bafb65c4 fix(icons): render FA glyphs in the SPA picker grid and harden item clicks
The server catalog ships bare glyph names, but the SPA grid preview
composed "fas home" instead of "fas fa-home" — every FA icon rendered
blank (the old curated lists carried the fa- prefix, so the regression
appeared with the catalog switch).

Item clicks move from per-element @click to a delegated panel handler
reading data-icon (immunity to DOM-replacing extensions/userscripts,
matching the PHP picker's pattern), and selecting now closes the
popover so the choice is visible in the field immediately.
2026-09-06 15:48:52 +08:00

2 lines
24 KiB
JavaScript

import{d as ae}from"./vendor-draggable.BooRVfGb.js";import{a as le}from"./shared-api.DnsQ5cxS.js";import{P as Fe}from"./PageHeader.CtT29f8Y.js";import{I as C,F as oe}from"./FaIconPicker.C_p6xA0k.js";import{_ as Ve}from"./index.js";import{u as Be,a as De,B as g,b as T}from"./vendor-naive.CKYCZmXD.js";import{o as Pe,X as y,a4 as a,a3 as o,r as I,a1 as p,e as se,W as r,N as f,f as u,Y as i,a2 as c,a5 as v,Z as x,F as ie,R as ne,c as U}from"./vendor-vue.BxZIRU0_.js";import"./FaIcon.NZ6TDkNu.js";import"./vendor-misc.bELTaXdf.js";const Se={class:"aksrt-page-container content-page"},Te={class:"aksrt-card-header-row"},Ie={class:"aksrt-card-header-row__left"},Me={class:"aksrt-card-header-row__title"},je={class:"float-btn-sort__item"},Le={class:"float-btn-sort__main"},He={class:"float-btn-sort__icon"},Ne={class:"float-btn-sort__meta"},Oe={class:"float-btn-sort__title-row"},Ee={class:"float-btn-sort__desc"},Re={class:"float-btn-sort__actions"},We={class:"aksrt-form-actions"},Xe={class:"icon-preview-row"},Ye={key:0,class:"theme-icon-preview-inline"},Ze={key:2,class:"muted-text"},Ge={key:7,class:"add-items-editor"},Je={class:"add-items-editor__head"},Ke={class:"add-items-editor__head-actions"},et={key:0,class:"add-items-editor__list"},tt={class:"add-items-editor__row"},at={class:"add-items-preview"},lt={class:"add-items-preview__panel add-items-preview__panel--light"},ot={class:"add-items-preview__trigger"},st={class:"add-items-preview__menu"},it={key:0,class:"add-items-preview__list"},nt={key:1,class:"add-items-preview__empty"},dt={class:"add-items-preview__panel add-items-preview__panel--dark"},rt={class:"add-items-preview__trigger add-items-preview__trigger--dark"},ut={class:"add-items-preview__menu add-items-preview__menu--dark"},_t={key:0,class:"add-items-preview__list"},pt={key:1,class:"add-items-preview__empty add-items-preview__empty--dark"},ct={class:"aksrt-modal-footer"},ft={__name:"FloatingButtonsSettings",setup(mt){var X,Y;const m=Be(),de=De(),M=I(!0),A=I(!1),z=I(!1),q=I(-1),$=(((X=window.aksrtAdminData)==null?void 0:X.siteUrl)||"").replace(/\/$/,"");(((Y=window.aksrtAdminData)==null?void 0:Y.adminUrl)||"").replace(/\/$/,"");const n=se({enabled:!0,style:"round",position:"bottom",scroll_hide:!1,scroll_down_hide:!0,filter_blur:["mobile"],items:[]}),t=se(V()),H=[{label:"自定义链接",value:"custom"},{label:"回到顶部",value:"back_top"},{label:"主题切换",value:"theme_mode"},{label:"页面二维码",value:"qrcode"},{label:"发布入口",value:"add"},{label:"QQ 客服",value:"service_qq"},{label:"微信客服",value:"service_wechat"},{label:"会员入口",value:"pay_vip"}],j=Object.fromEntries(H.map(s=>[s.value,s.label])),re=U(()=>[{label:"写文章",key:"post"},{label:"投稿页",key:"submit"},{label:"用户中心创作",key:"profile"}].map(e=>{const d=E(e.key);return{...e,disabled:d,label:d?`${e.label}(已存在)`:e.label}})),F=U(()=>["custom","add"].includes(t.type)&&!t.hover),Q=U(()=>t.type==="custom"),N=U(()=>["service_qq","service_wechat"].includes(t.type)),ue=U(()=>t.type==="pay_vip"),O=U(()=>["service_qq","service_wechat"].includes(t.type)&&t.action_mode==="qrcode"),_e=U(()=>!O.value);function V(){return{id:"",type:"custom",icon:"fa fas fa-link",icon_dark:"",icon_light:"",text:"",desc:"",action_mode:"link",qq:"",qrcode_img:"",wechat_img:"",link:"",add_items:[],hover:"",qr_size:120,hover_width:200,pc_s:!0,m_s:!0,color:null,bg:null,enabled:!0,sort_order:0}}function pe(s){const e={custom:{icon:"fa fas fa-link",icon_dark:"",icon_light:"",text:"链接",desc:"",link:"",hover:"",action_mode:"link",qr_size:120},back_top:{icon:"fa fas fa-chevron-up",icon_dark:"",icon_light:"",text:"顶部",desc:"返回顶部",link:"",hover:"",action_mode:"link",qr_size:120},theme_mode:{icon:"fa fas fa-sun",icon_dark:"",icon_light:"",text:"主题",desc:"切换主题",link:"",hover:"",action_mode:"link",qr_size:120},qrcode:{icon:"fa fas fa-qrcode",icon_dark:"",icon_light:"",text:"二维码",desc:"扫码继续浏览",link:"",hover:"",action_mode:"qrcode",qr_size:120},service_qq:{icon:"fa fab fa-qq",icon_dark:"",icon_light:"",text:"QQ",desc:"QQ 联系",link:"",hover:"",action_mode:"link",qr_size:120},service_wechat:{icon:"fa fab fa-weixin",icon_dark:"",icon_light:"",text:"微信",desc:"扫码添加微信",link:"",hover:"",action_mode:"link",qr_size:120},pay_vip:{icon:"fa fas fa-gem",icon_dark:"",icon_light:"",text:"会员",desc:"开通/升级会员弹窗",link:"",hover:"",action_mode:"link",qr_size:120},add:{icon:"fa fas fa-plus",icon_dark:"",icon_light:"",text:"发布",desc:"发布内容",link:"",hover:"",action_mode:"link",qr_size:120}};return e[s]||e.custom}function ce(s){const e=pe(s);t.icon=e.icon,t.icon_dark=e.icon_dark,t.icon_light=e.icon_light,t.action_mode=e.action_mode,t.qr_size=e.qr_size,t.text||(t.text=e.text),t.desc||(t.desc=e.desc),Q.value||(t.hover=""),s==="service_qq"&&t.action_mode==="qrcode"&&(t.qq=""),s==="service_wechat"&&t.action_mode==="qrcode"&&(t.link=""),["service_qq","service_wechat"].includes(s)&&t.action_mode==="qrcode"&&(t.desc=""),!F.value&&!["service_qq","service_wechat"].includes(s)&&(t.link=""),s==="pay_vip"&&(t.link="",t.hover="",(!t.icon||t.icon.includes("fa-gem"))&&(t.icon="fa fas fa-gem"))}function fe(){Object.assign(t,V(),{id:`float_${Date.now()}`,sort_order:n.items.length}),q.value=-1,z.value=!0}function me(){t.add_items.push({id:`add_${Date.now()}_${t.add_items.length}`,label:"",icon:"fa fas fa-pen",url:""})}function ve(){t.add_items=t.add_items.map((s,e)=>({...s,id:s.id||`add_${Date.now()}_${e}`}))}function ye(s){if(E(s)){m.info("该预设已存在,无需重复添加");return}const d={post:()=>({label:"写文章",icon:"fa fas fa-pen",url:`${$}/submit/`}),submit:()=>({label:"投稿页",icon:"fa fas fa-paper-plane",url:`${$}/submit/`}),profile:()=>({label:"创作中心",icon:"fa fas fa-user",url:`${$}/user/`})}[s];if(!d)return;const _=d();t.add_items.push({id:`add_${Date.now()}_${t.add_items.length}`,..._})}function E(s){const e=ge(s);return e?t.add_items.some(d=>{const _=(d.label||"").trim(),w=R(d.url||"");return _===e.label||w===R(e.url)}):!1}function ge(s){const e={post:()=>({label:"写文章",icon:"fa fas fa-pen",url:`${$}/submit/`}),submit:()=>({label:"投稿页",icon:"fa fas fa-paper-plane",url:`${$}/submit/`}),profile:()=>({label:"创作中心",icon:"fa fas fa-user",url:`${$}/user/`})};return e[s]?e[s]():null}function R(s){return String(s||"").replace(/\/$/,"")}function be(s){t.add_items.splice(s,1)}function ke(s){Object.assign(t,V(),n.items[s]),q.value=s,z.value=!0}function B(){n.items.splice(0,n.items.length,...n.items.map((s,e)=>({...s,sort_order:e})))}function qe(s){return s.type==="service_qq"?s.action_mode==="qrcode"?s.qrcode_img||"未设置 QQ 二维码":s.link||s.qq||"未设置 QQ 号码":s.type==="service_wechat"?s.action_mode==="qrcode"?s.wechat_img||"未设置微信二维码":s.link||"未设置跳转链接":s.type==="qrcode"?s.desc||"展示当前页面二维码":s.type==="pay_vip"?"点击打开会员开通弹窗(无需填写链接)":s.hover?"使用 HTML 悬浮层内容":s.link||s.desc||"未设置说明"}function we(){if(t.type!=="theme_mode"&&!t.icon){m.warning("请填写图标");return}if(!t.text){m.warning("请填写按钮标题");return}if(t.type==="service_qq"&&t.action_mode!=="qrcode"&&!t.qq&&!t.link){m.warning("请填写 QQ 号码或跳转链接");return}if(t.type==="service_qq"&&t.action_mode==="qrcode"&&!t.qrcode_img){m.warning("请填写 QQ 二维码地址");return}if(t.type==="service_wechat"&&t.action_mode==="qrcode"&&!t.wechat_img){m.warning("请填写微信二维码地址");return}if(t.type==="service_wechat"&&t.action_mode!=="qrcode"&&!t.link){m.warning("请填写微信跳转链接");return}if(F.value&&!t.link){m.warning("请填写链接地址");return}const s={id:t.id||`float_${Date.now()}`,type:t.type,icon:t.type==="theme_mode"?"fa fas fa-sun":t.type==="pay_vip"?t.icon||"fa fas fa-gem":t.icon,icon_dark:"",icon_light:"",text:t.text,desc:O.value?"":t.desc,action_mode:N.value?t.action_mode:"link",qq:t.type==="service_qq"&&t.action_mode!=="qrcode"?t.qq:"",qrcode_img:t.type==="service_qq"&&t.action_mode==="qrcode"?t.qrcode_img:"",wechat_img:t.type==="service_wechat"&&t.action_mode==="qrcode"?t.wechat_img:"",link:t.type==="pay_vip"?"":F.value||t.type==="service_wechat"&&t.action_mode!=="qrcode"||t.type==="service_qq"&&t.action_mode!=="qrcode"&&t.link?t.link:"",add_items:t.type==="add"?t.add_items.filter(e=>e.label||e.url).map((e,d)=>({id:e.id||`add_${d}`,label:e.label||"",icon:e.icon||"fa fas fa-pen",url:e.url||""})):[],hover:t.type==="pay_vip"?"":Q.value&&t.hover||"",qr_size:t.type==="qrcode"&&t.qr_size||120,hover_width:Q.value&&t.hover_width||200,pc_s:t.pc_s,m_s:t.m_s,color:t.color||"",bg:t.bg||"",enabled:t.enabled,sort_order:q.value>=0?n.items[q.value].sort_order:n.items.length};q.value>=0?n.items.splice(q.value,1,s):n.items.push(s),B(),z.value=!1,m.success(q.value>=0?"已更新":"已添加")}function he(s){de.warning({title:"确认删除",content:`确定删除「${n.items[s].text||j[n.items[s].type]||"按钮"}」吗?`,positiveText:"删除",negativeText:"取消",onPositiveClick:()=>{n.items.splice(s,1),B(),m.success("已删除")}})}async function xe(){M.value=!0;try{const s=await le.getFloatingButtons();if(s.code==="success"&&s.data){const e=s.data;n.enabled=e.enabled!==!1,n.style=e.style||"round",n.position=e.position||"bottom",n.scroll_hide=!!e.scroll_hide,n.scroll_down_hide=e.scroll_down_hide!==!1,n.filter_blur=Array.isArray(e.filter_blur)?e.filter_blur:[],n.items=(e.items||[]).map((d,_)=>({...V(),...d,icon:d.type==="theme_mode"?"fa fas fa-sun":d.icon||"",color:d.color||null,bg:d.bg||null,icon_dark:"",icon_light:"",action_mode:d.action_mode||(["service_qq","service_wechat"].includes(d.type),"link"),qrcode_img:d.qrcode_img||"",add_items:Array.isArray(d.add_items)?d.add_items:[],qr_size:d.qr_size||120,sort_order:d.sort_order??_})),B()}}catch(s){console.error("[FloatingButtons] load failed:",s),m.error("加载配置失败")}finally{M.value=!1}}async function W(){A.value=!0;try{const s={enabled:n.enabled,style:n.style,position:n.position,scroll_hide:n.scroll_hide,scroll_down_hide:n.scroll_down_hide,filter_blur:n.filter_blur,items:n.items.map((d,_)=>({...d,icon:d.type==="theme_mode"?"fa fas fa-sun":d.icon||"",icon_dark:"",icon_light:"",color:d.color||"",bg:d.bg||"",sort_order:_}))},e=await le.saveFloatingButtons(s);e.code==="success"?m.success(e.message||"保存成功"):m.error(e.message||"保存失败")}catch(s){console.error("[FloatingButtons] save failed:",s),m.error("保存失败")}finally{A.value=!1}}return Pe(xe),(s,e)=>{const d=p("n-switch"),_=p("n-form-item"),w=p("n-radio"),D=p("n-space"),L=p("n-radio-group"),Z=p("n-checkbox"),Ue=p("n-checkbox-group"),G=p("n-form"),J=p("n-card"),K=p("n-empty"),ze=p("n-spin"),$e=p("n-select"),b=p("n-form-item-gi"),P=p("n-grid"),k=p("n-input"),ee=p("n-color-picker"),Ce=p("n-alert"),te=p("n-input-number"),Qe=p("n-dropdown"),Ae=p("n-modal");return r(),y("div",Se,[a(Fe,{title:"底部悬浮按钮",desc:"配置右侧悬浮按钮的显示、排序和交互内容,前端会根据保存结果实时渲染。"},{actions:o(()=>[a(f(g),{type:"primary",loading:A.value,onClick:W},{default:o(()=>[...e[27]||(e[27]=[u("保存",-1)])]),_:1},8,["loading"])]),_:1}),a(ze,{show:M.value,style:{width:"100%","min-height":"200px"}},{default:o(()=>[a(J,{class:"aksrt-section-card"},{header:o(()=>[...e[28]||(e[28]=[i("div",{class:"aksrt-card-header-row"},[i("div",{class:"aksrt-card-header-row__left"},[i("span",{class:"header-icon"},[i("i",{class:"fa fas fa-cog"})]),i("strong",{class:"aksrt-card-header-row__title"},"基础设置")])],-1)])]),default:o(()=>[a(G,{model:n,"label-placement":"left","label-width":"140",class:"aksrt-form"},{default:o(()=>[a(_,{label:"启用悬浮按钮"},{default:o(()=>[a(d,{value:n.enabled,"onUpdate:value":e[0]||(e[0]=l=>n.enabled=l)},null,8,["value"]),e[29]||(e[29]=i("span",{class:"aksrt-hint-text",style:{"margin-left":"12px"}},"控制前台整个悬浮按钮组是否显示",-1))]),_:1}),a(_,{label:"按钮样式"},{default:o(()=>[a(L,{value:n.style,"onUpdate:value":e[1]||(e[1]=l=>n.style=l)},{default:o(()=>[a(D,null,{default:o(()=>[a(w,{value:"round"},{default:o(()=>[...e[30]||(e[30]=[u("圆角卡片",-1)])]),_:1}),a(w,{value:"square"},{default:o(()=>[...e[31]||(e[31]=[u("方形堆叠",-1)])]),_:1})]),_:1})]),_:1},8,["value"])]),_:1}),a(_,{label:"显示位置"},{default:o(()=>[a(L,{value:n.position,"onUpdate:value":e[2]||(e[2]=l=>n.position=l)},{default:o(()=>[a(D,null,{default:o(()=>[a(w,{value:"bottom"},{default:o(()=>[...e[32]||(e[32]=[u("右下角",-1)])]),_:1}),a(w,{value:"center"},{default:o(()=>[...e[33]||(e[33]=[u("右侧居中",-1)])]),_:1})]),_:1})]),_:1},8,["value"])]),_:1}),a(_,{label:"滚动中隐藏"},{default:o(()=>[a(d,{value:n.scroll_hide,"onUpdate:value":e[3]||(e[3]=l=>n.scroll_hide=l)},null,8,["value"]),e[34]||(e[34]=i("span",{class:"aksrt-hint-text",style:{"margin-left":"12px"}},"页面滚动时暂时隐藏,停止滚动后恢复",-1))]),_:1}),a(_,{label:"下滑隐藏"},{default:o(()=>[a(d,{value:n.scroll_down_hide,"onUpdate:value":e[4]||(e[4]=l=>n.scroll_down_hide=l)},null,8,["value"]),e[35]||(e[35]=i("span",{class:"aksrt-hint-text",style:{"margin-left":"12px"}},"向下滚动隐藏,向上滚动显示",-1))]),_:1}),a(_,{label:"毛玻璃设备"},{default:o(()=>[a(Ue,{value:n.filter_blur,"onUpdate:value":e[5]||(e[5]=l=>n.filter_blur=l)},{default:o(()=>[a(D,null,{default:o(()=>[a(Z,{value:"pc"},{default:o(()=>[...e[36]||(e[36]=[u("PC",-1)])]),_:1}),a(Z,{value:"mobile"},{default:o(()=>[...e[37]||(e[37]=[u("移动端",-1)])]),_:1})]),_:1})]),_:1},8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),a(J,{class:"aksrt-section-card"},{header:o(()=>[i("div",Te,[i("div",Ie,[e[38]||(e[38]=i("span",{class:"header-icon"},[i("i",{class:"fa fas fa-clone"})],-1)),i("strong",Me,"按钮列表 ("+x(n.items.length)+")",1)]),a(f(g),{type:"primary",size:"small",onClick:fe},{icon:o(()=>[...e[39]||(e[39]=[i("i",{class:"fa fas fa-plus"},null,-1)])]),default:o(()=>[e[40]||(e[40]=u(" 添加按钮 ",-1))]),_:1})])]),default:o(()=>[e[48]||(e[48]=i("p",{class:"section-desc"},"支持内置功能按钮、自定义链接、二维码弹层和客服入口。排序结果会直接用于前端输出顺序。",-1)),n.items.length?(r(),c(f(ae),{key:0,modelValue:n.items,"onUpdate:modelValue":e[6]||(e[6]=l=>n.items=l),"item-key":"id",handle:".float-btn-sort__handle","ghost-class":"float-btn-sort__ghost",animation:"180",class:"float-btn-sort",onEnd:B},{item:o(({element:l,index:S})=>[i("div",je,[i("div",Le,[e[43]||(e[43]=i("button",{type:"button",class:"float-btn-sort__handle","aria-label":"拖拽排序"},[i("i",{class:"fa fas fa-bars"})],-1)),i("span",He,[l.icon?(r(),c(C,{key:0,value:l.icon},null,8,["value"])):v("",!0)]),i("div",Ne,[i("div",Oe,[i("strong",null,x(l.text||f(j)[l.type]||"按钮"),1),a(f(T),{size:"small",bordered:!1},{default:o(()=>[u(x(f(j)[l.type]||l.type),1)]),_:2},1024),l.pc_s?(r(),c(f(T),{key:0,size:"small",type:"info",bordered:!1},{default:o(()=>[...e[41]||(e[41]=[u("PC",-1)])]),_:1})):v("",!0),l.m_s?(r(),c(f(T),{key:1,size:"small",type:"warning",bordered:!1},{default:o(()=>[...e[42]||(e[42]=[u("移动",-1)])]),_:1})):v("",!0),a(f(T),{size:"small",type:l.enabled?"success":"default",bordered:!1},{default:o(()=>[u(x(l.enabled?"启用":"禁用"),1)]),_:2},1032,["type"])]),i("div",Ee,x(qe(l)),1)])]),i("div",Re,[a(f(g),{size:"tiny",quaternary:"",type:"primary",onClick:h=>ke(S)},{icon:o(()=>[...e[44]||(e[44]=[i("i",{class:"fa fas fa-edit",style:{"font-size":"12px"}},null,-1)])]),default:o(()=>[e[45]||(e[45]=u(" 编辑 ",-1))]),_:1},8,["onClick"]),a(f(g),{size:"tiny",quaternary:"",type:"error",onClick:h=>he(S)},{icon:o(()=>[...e[46]||(e[46]=[i("i",{class:"fa fas fa-trash-alt",style:{"font-size":"12px"}},null,-1)])]),default:o(()=>[e[47]||(e[47]=u(" 删除 ",-1))]),_:1},8,["onClick"])])])]),_:1},8,["modelValue"])):(r(),c(K,{key:1,description:"暂无悬浮按钮,请点击上方按钮添加"}))]),_:1}),i("div",We,[a(f(g),{type:"primary",loading:A.value,onClick:W},{default:o(()=>[...e[49]||(e[49]=[u("保存悬浮按钮配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["show"]),a(Ae,{show:z.value,"onUpdate:show":e[26]||(e[26]=l=>z.value=l),"mask-closable":!1,preset:"card",title:q.value>=0?"编辑悬浮按钮":"添加悬浮按钮",class:"aksrt-modal-card",style:{"max-width":"640px"}},{footer:o(()=>[i("div",ct,[a(f(g),{onClick:e[25]||(e[25]=l=>z.value=!1)},{default:o(()=>[...e[67]||(e[67]=[u("取消",-1)])]),_:1}),a(f(g),{type:"primary",onClick:we},{default:o(()=>[...e[68]||(e[68]=[u("保存",-1)])]),_:1})])]),default:o(()=>[a(G,{model:t,"label-placement":"top",class:"aksrt-form"},{default:o(()=>[a(P,{cols:2,"x-gap":16},{default:o(()=>[a(b,{label:"按钮类型"},{default:o(()=>[a($e,{value:t.type,"onUpdate:value":[e[7]||(e[7]=l=>t.type=l),ce],options:H,placeholder:"选择按钮类型"},null,8,["value"])]),_:1}),t.type!=="theme_mode"?(r(),c(b,{key:0,label:"主图标 (Font Awesome)"},{default:o(()=>[a(oe,{value:t.icon,"onUpdate:value":e[8]||(e[8]=l=>t.icon=l),placeholder:"选择图标"},null,8,["value"])]),_:1})):(r(),c(b,{key:1,label:"主题图标"},{default:o(()=>[...e[50]||(e[50]=[i("div",{class:"theme-icon-preview"},[i("span",null,[i("i",{class:"fa fas fa-sun"}),u(" 亮色固定显示太阳")]),i("span",null,[i("i",{class:"fa fas fa-moon"}),u(" 暗色固定显示月亮")])],-1)])]),_:1}))]),_:1}),i("div",Xe,[e[52]||(e[52]=i("span",null,"预览:",-1)),t.type==="theme_mode"?(r(),y("span",Ye,[...e[51]||(e[51]=[i("i",{class:"fa fas fa-sun"},null,-1),u(" / ",-1),i("i",{class:"fa fas fa-moon"},null,-1)])])):t.icon?(r(),c(C,{key:1,value:t.icon,style:{"font-size":"18px"}},null,8,["value"])):(r(),y("span",Ze,"未设置图标")),e[53]||(e[53]=i("a",{href:"https://fontawesome.com/search?m=free",target:"_blank",rel:"noopener"},[i("i",{class:"fa fas fa-external-link-alt"}),u(" Font Awesome ")],-1))]),a(P,{cols:2,"x-gap":16},{default:o(()=>[a(b,{label:"按钮标题"},{default:o(()=>[a(k,{value:t.text,"onUpdate:value":e[9]||(e[9]=l=>t.text=l),placeholder:"例如: 微信, 顶部, 会员"},null,8,["value"])]),_:1}),_e.value?(r(),c(b,{key:0,label:"悬停说明"},{default:o(()=>[a(k,{value:t.desc,"onUpdate:value":e[10]||(e[10]=l=>t.desc=l),placeholder:"例如: 扫码添加微信"},null,8,["value"])]),_:1})):v("",!0)]),_:1}),a(P,{cols:2,"x-gap":16},{default:o(()=>[a(b,{label:"PC 显示"},{default:o(()=>[a(d,{value:t.pc_s,"onUpdate:value":e[11]||(e[11]=l=>t.pc_s=l)},null,8,["value"])]),_:1}),a(b,{label:"移动端显示"},{default:o(()=>[a(d,{value:t.m_s,"onUpdate:value":e[12]||(e[12]=l=>t.m_s=l)},null,8,["value"])]),_:1})]),_:1}),a(P,{cols:2,"x-gap":16},{default:o(()=>[a(b,{label:"图标颜色"},{default:o(()=>[a(ee,{value:t.color,"onUpdate:value":e[13]||(e[13]=l=>t.color=l),"show-alpha":!0,clearable:""},null,8,["value"])]),_:1}),a(b,{label:"背景颜色"},{default:o(()=>[a(ee,{value:t.bg,"onUpdate:value":e[14]||(e[14]=l=>t.bg=l),"show-alpha":!0,clearable:""},null,8,["value"])]),_:1})]),_:1}),N.value?(r(),c(_,{key:0,label:"交互方式"},{default:o(()=>[a(L,{value:t.action_mode,"onUpdate:value":e[15]||(e[15]=l=>t.action_mode=l)},{default:o(()=>[a(D,null,{default:o(()=>[a(w,{value:"link"},{default:o(()=>[...e[54]||(e[54]=[u("点击跳转",-1)])]),_:1}),a(w,{value:"qrcode"},{default:o(()=>[...e[55]||(e[55]=[u("悬浮二维码",-1)])]),_:1})]),_:1})]),_:1},8,["value"])]),_:1})):v("",!0),F.value?(r(),c(_,{key:1,label:"链接地址"},{default:o(()=>[a(k,{value:t.link,"onUpdate:value":e[16]||(e[16]=l=>t.link=l),placeholder:"https://example.com 或 /vip"},null,8,["value"])]),_:1})):v("",!0),ue.value?(r(),c(Ce,{key:2,type:"info",bordered:!1,style:{"margin-bottom":"12px"}},{default:o(()=>[...e[56]||(e[56]=[u(" 会员入口固定打开站点「开通/升级会员」弹窗,无需填写链接;访客点击会先走登录。 ",-1)])]),_:1})):v("",!0),t.type==="service_qq"&&t.action_mode!=="qrcode"?(r(),c(_,{key:3,label:"QQ 号码"},{default:o(()=>[a(k,{value:t.qq,"onUpdate:value":e[17]||(e[17]=l=>t.qq=l),placeholder:"仅填写数字"},null,8,["value"])]),_:1})):v("",!0),t.type==="service_qq"&&t.action_mode==="qrcode"?(r(),c(_,{key:4,label:"QQ 二维码地址"},{default:o(()=>[a(k,{value:t.qrcode_img,"onUpdate:value":e[18]||(e[18]=l=>t.qrcode_img=l),placeholder:"https://example.com/qq-qrcode.jpg"},null,8,["value"])]),_:1})):v("",!0),t.type==="service_wechat"&&t.action_mode==="qrcode"?(r(),c(_,{key:5,label:"微信二维码地址"},{default:o(()=>[a(k,{value:t.wechat_img,"onUpdate:value":e[19]||(e[19]=l=>t.wechat_img=l),placeholder:"https://example.com/qrcode.jpg"},null,8,["value"])]),_:1})):v("",!0),t.type==="qrcode"?(r(),c(_,{key:6,label:"二维码尺寸"},{default:o(()=>[a(te,{value:t.qr_size,"onUpdate:value":e[20]||(e[20]=l=>t.qr_size=l),min:80,max:240,style:{width:"180px"}},null,8,["value"])]),_:1})):v("",!0),t.type==="add"?(r(),y("div",Ge,[i("div",Je,[e[61]||(e[61]=i("strong",null,"发布菜单项",-1)),i("div",Ke,[a(Qe,{trigger:"click",options:re.value,onSelect:ye},{default:o(()=>[a(f(g),{size:"small"},{icon:o(()=>[...e[57]||(e[57]=[i("i",{class:"fa fas fa-magic"},null,-1)])]),default:o(()=>[e[58]||(e[58]=u(" 一键预设 ",-1))]),_:1})]),_:1},8,["options"]),a(f(g),{size:"small",type:"primary",onClick:me},{icon:o(()=>[...e[59]||(e[59]=[i("i",{class:"fa fas fa-plus"},null,-1)])]),default:o(()=>[e[60]||(e[60]=u(" 添加子项 ",-1))]),_:1})])]),t.add_items.length?(r(),y("div",et,[a(f(ae),{modelValue:t.add_items,"onUpdate:modelValue":e[21]||(e[21]=l=>t.add_items=l),"item-key":"id",handle:".add-items-editor__drag","ghost-class":"add-items-editor__ghost",animation:"180",onEnd:ve},{item:o(({element:l,index:S})=>[i("div",tt,[e[63]||(e[63]=i("button",{type:"button",class:"add-items-editor__drag","aria-label":"拖拽排序"},[i("i",{class:"fa fas fa-bars"})],-1)),a(k,{value:l.label,"onUpdate:value":h=>l.label=h,placeholder:"名称,例如: 写文章"},null,8,["value","onUpdate:value"]),a(oe,{value:l.icon,"onUpdate:value":h=>l.icon=h,placeholder:"选择图标"},null,8,["value","onUpdate:value"]),a(k,{value:l.url,"onUpdate:value":h=>l.url=h,placeholder:"链接,例如: /submit"},null,8,["value","onUpdate:value"]),a(f(g),{quaternary:"",type:"error",onClick:h=>be(S)},{icon:o(()=>[...e[62]||(e[62]=[i("i",{class:"fa fas fa-trash-alt"},null,-1)])]),_:1},8,["onClick"])])]),_:1},8,["modelValue"])])):(r(),c(K,{key:1,description:"未配置子项时,发布按钮会退化为单链接模式"})),i("div",at,[e[66]||(e[66]=i("div",{class:"add-items-preview__title"},"展开预览",-1)),i("div",lt,[e[64]||(e[64]=i("div",{class:"add-items-preview__mode"},"亮色",-1)),i("div",ot,[a(C,{value:t.icon||"fa fas fa-plus"},null,8,["value"])]),i("div",st,[t.add_items.length?(r(),y("div",it,[(r(!0),y(ie,null,ne(t.add_items,l=>(r(),y("a",{key:l.id,href:"javascript:void(0)",class:"add-items-preview__item"},[a(C,{value:l.icon||"fa fas fa-pen"},null,8,["value"]),i("span",null,x(l.label||"未命名子项"),1)]))),128))])):(r(),y("div",nt,"当前没有子菜单项,将使用单链接按钮。"))])]),i("div",dt,[e[65]||(e[65]=i("div",{class:"add-items-preview__mode"},"暗色",-1)),i("div",rt,[a(C,{value:t.icon||"fa fas fa-plus"},null,8,["value"])]),i("div",ut,[t.add_items.length?(r(),y("div",_t,[(r(!0),y(ie,null,ne(t.add_items,l=>(r(),y("a",{key:`${l.id}-dark`,href:"javascript:void(0)",class:"add-items-preview__item add-items-preview__item--dark"},[a(C,{value:l.icon||"fa fas fa-pen"},null,8,["value"]),i("span",null,x(l.label||"未命名子项"),1)]))),128))])):(r(),y("div",pt,"当前没有子菜单项,将使用单链接按钮。"))])])])])):v("",!0),Q.value?(r(),c(_,{key:8,label:"悬浮内容 HTML"},{default:o(()=>[a(k,{value:t.hover,"onUpdate:value":e[22]||(e[22]=l=>t.hover=l),type:"textarea",autosize:{minRows:4,maxRows:8},placeholder:"可填写简单 HTML 内容,填写后会优先展示弹层内容"},null,8,["value"])]),_:1})):v("",!0),Q.value?(r(),c(_,{key:9,label:"悬浮层宽度"},{default:o(()=>[a(te,{value:t.hover_width,"onUpdate:value":e[23]||(e[23]=l=>t.hover_width=l),min:120,max:480,style:{width:"180px"}},null,8,["value"])]),_:1})):v("",!0),a(_,{label:"启用状态"},{default:o(()=>[a(d,{value:t.enabled,"onUpdate:value":e[24]||(e[24]=l=>t.enabled=l)},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["show","title"])])}}},Ut=Ve(ft,[["__scopeId","data-v-1ae52996"]]);export{Ut as default};