SPA shop/forum/payment/users sections now keep configuration pages only. Operational workbenches were removed from the sidebar and loaders; legacy hash routes open NativeOpsRedirect into the matching WP native admin page. Admin SPA production build refreshed accordingly.
2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
import{o as de,X as w,a4 as t,a3 as a,a1 as r,r as b,_ as ve,W as g,Y as u,N as _,f as i,a2 as N,Z as $,a5 as P,F as pe,R as _e,k as m}from"./vendor-vue.Bykizn0M.js";import{a as x}from"./shared-api.D5_fnN32.js";import{o as j}from"./media.BHNcAGK-.js";import{P as me}from"./PageHeader.Di3JTPjc.js";import{_ as fe}from"./index.js";import{u as ge,a as ce,B as p,d as D,b as T}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const be={class:"aksrt-page-container content-page"},ye={class:"aksrt-card-header-row"},ke={class:"aksrt-inline-setting"},xe={class:"aksrt-inline-setting__actions"},we={class:"aksrt-card-header-row"},he={class:"aksrt-card-header-row__left"},Ue={class:"header-icon"},He={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:{width:"18px",height:"18px"},"aria-hidden":"true"},ze={class:"aksrt-card-header-row__title"},Ce={key:0,class:"aksrt-modal-preview"},Ne={class:"aksrt-modal-grid"},Se={class:"aksrt-modal-grid"},Le={class:"aksrt-layer-item__header"},Be={class:"aksrt-modal-grid"},Me={class:"aksrt-modal-footer"},Pe={__name:"HeroManager",setup(Te){const q=ve(),v=ge(),A=ce();function W(){q.push("/page-display/header-components")}const S=b(!0),L=b(!1),h=b(!1),U=b(!1),H=b([]),z=b(!0),k=b(!1),n=b(R());function R(){return{id:0,title:"",subtitle:"",description:"",image_url:"",video_url:"",link_url:"",link_target:"_self",text_align:"left",device_visibility:"all",enabled:!0,show_text:!0,show_meta:!1,sort_order:0,text_size_pc:"",text_size_m:"",text_parallax:!1,layers:[]}}const X=[{title:"预览",key:"image_url",width:90,render(l){return l.image_url?m(D,{src:l.image_url,width:64,height:36,objectFit:"cover",previewSrc:l.image_url,style:"border-radius:4px;display:block;"}):m("span",{style:"color:#bbb;font-size:12px;"},"无")}},{title:"标题",key:"title",ellipsis:{tooltip:!0},render(l){return l.title||m("span",{style:"color:#bbb;"},"未命名")}},{title:"文字",key:"show_text",width:70,className:"aksrt-table-mobile-hide",render(l){return m(T,{size:"small",type:l.show_text?"info":"default"},{default:()=>l.show_text?"显示":"隐藏"})}},{title:"元信息",key:"show_meta",width:78,className:"aksrt-table-mobile-hide",render(l){return m(T,{size:"small",type:l.show_meta?"info":"default"},{default:()=>l.show_meta?"显示":"隐藏"})}},{title:"跳转",key:"link_url",ellipsis:{tooltip:!0},className:"aksrt-table-mobile-hide",render(l){return l.link_url||m("span",{style:"color:#bbb;font-size:12px;"},"—")}},{title:"排序",key:"sort_order",width:64,className:"aksrt-table-mobile-hide"},{title:"状态",key:"enabled",width:84,render(l){return m(T,{size:"small",type:l.enabled?"success":"default"},{default:()=>l.enabled?"启用":"禁用"})}},{title:"操作",key:"actions",width:130,render(l){return m("div",{style:"display:flex;gap:6px;"},[m(p,{size:"tiny",onClick:()=>J(l)},{default:()=>"编辑"}),m(p,{size:"tiny",type:"error",quaternary:!0,onClick:()=>te(l)},{default:()=>"删除"})])}}];async function B(){try{S.value=!0;const l=await x.getHeroes();l.code==="success"&&(H.value=l.data||[])}catch(l){v.error(l.message||"加载失败")}finally{S.value=!1}}async function Y(){h.value=!0;try{const l=await x.getHomepageSettings(),e=(l==null?void 0:l.data)||{};z.value=e.homepage_module_hero_enabled!==!1}catch(l){v.error(l.message||"加载 Hero 开关失败")}finally{h.value=!1}}async function Z(){U.value=!0;try{const l=await x.saveHomepageSettings({homepage_module_hero_enabled:z.value});if((l==null?void 0:l.code)==="success"){v.success("Hero 开关已保存");return}throw new Error((l==null?void 0:l.message)||"保存 Hero 开关失败")}catch(l){v.error(l.message||"保存 Hero 开关失败")}finally{U.value=!1}}function G(){n.value=R(),k.value=!0}function J(l){n.value={id:l.id,title:l.title||"",subtitle:l.subtitle||"",description:l.description||"",image_url:l.image_url||"",video_url:l.video_url||"",link_url:l.link_url||"",link_target:l.link_target||"_self",text_align:l.text_align||"left",device_visibility:l.device_visibility||"all",show_text:l.show_text!==!1,enabled:!!l.enabled,show_meta:l.show_meta===!0,sort_order:Number(l.sort_order)||0,text_size_pc:l.text_size_pc||"",text_size_m:l.text_size_m||"",text_parallax:!!l.text_parallax,layers:Array.isArray(l.layers)?l.layers:[]},k.value=!0}async function K(){try{const l=await j({title:"选择 Hero 背景图",buttonText:"使用这张 Hero 图"});l!=null&&l.url&&(n.value.image_url=l.url)}catch(l){v.error(l.message||"打开媒体库失败")}}function O(){n.value.layers.push({image:"",free_size:!1,align:"center",parallax:!1,parallax_scale:.3,parallax_opacity:.6})}function Q(l){n.value.layers.splice(l,1)}async function ee(l){try{const e=await j({title:"选择图层图片",buttonText:"使用这张图"});e!=null&&e.url&&(n.value.layers[l].image=e.url)}catch(e){v.error(e.message||"打开媒体库失败")}}async function le(){if(!n.value.image_url){v.warning("请填写 Hero 背景图");return}L.value=!0;try{n.value.id?(await x.updateHero(n.value.id,n.value),v.success("已保存")):(await x.createHero(n.value),v.success("已添加")),k.value=!1,await B()}catch(l){v.error(l.message||"保存失败")}finally{L.value=!1}}function te(l){A.warning({title:"确认删除",content:`确定删除 Hero「${l.title||"未命名"}」?`,positiveText:"删除",negativeText:"取消",onPositiveClick:async()=>{try{await x.deleteHero(l.id),v.success("已删除"),await B()}catch(e){v.error(e.message||"删除失败")}}})}return de(()=>{B(),Y()}),(l,e)=>{const y=r("n-switch"),o=r("n-form-item"),E=r("n-form"),F=r("n-card"),ae=r("n-data-table"),se=r("n-empty"),ne=r("n-spin"),f=r("n-input"),I=r("n-input-group"),c=r("n-radio-button"),M=r("n-radio-group"),oe=r("n-input-number"),ue=r("n-divider"),ie=r("n-select"),V=r("n-slider"),re=r("n-modal");return g(),w("div",be,[t(me,{title:"Hero 轮播管理",desc:"管理首页 Hero 幻灯片内容(图片/视频、文案、图层、跳转)。标题、副标题可留空。"}),t(F,{class:"aksrt-section-card",style:{"margin-bottom":"16px"}},{header:a(()=>[u("div",ye,[e[20]||(e[20]=u("strong",null,"Hero 显示开关",-1)),t(_(p),{size:"small",secondary:"",onClick:W},{default:a(()=>[...e[19]||(e[19]=[i("顶部多功能组件(搜索/卡片/轮播参数)",-1)])]),_:1})])]),default:a(()=>[t(E,{"label-placement":"left","label-width":"160",class:"aksrt-form"},{default:a(()=>[t(o,{label:"显示首页 Hero"},{default:a(()=>[u("div",ke,[t(y,{value:z.value,"onUpdate:value":e[0]||(e[0]=s=>z.value=s),disabled:h.value||U.value},null,8,["value","disabled"]),e[21]||(e[21]=u("span",{class:"aksrt-inline-setting__hint"},"关闭后,首页 Hero 区块将不再渲染。",-1))])]),_:1})]),_:1}),u("div",xe,[t(_(p),{type:"primary",loading:U.value,disabled:h.value,onClick:Z},{default:a(()=>[...e[22]||(e[22]=[i("保存 Hero 开关",-1)])]),_:1},8,["loading","disabled"])])]),_:1}),t(ne,{show:S.value,style:{width:"100%","min-height":"200px"}},{default:a(()=>[t(F,{class:"aksrt-section-card"},{header:a(()=>[u("div",we,[u("div",he,[u("span",Ue,[(g(),w("svg",He,[...e[23]||(e[23]=[u("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"},null,-1),u("circle",{cx:"9",cy:"9",r:"2"},null,-1),u("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"},null,-1)])]))]),u("strong",ze,"Hero 列表 ("+$(H.value.length)+")",1)]),t(_(p),{type:"primary",size:"small",onClick:G},{default:a(()=>[...e[24]||(e[24]=[i("+ 添加 Hero",-1)])]),_:1})])]),default:a(()=>[H.value.length?(g(),N(ae,{key:0,columns:X,data:H.value,"row-key":s=>s.id,bordered:!1,size:"small"},null,8,["data","row-key"])):(g(),N(se,{key:1,description:"暂无 Hero,添加后首页即可使用。"}))]),_:1})]),_:1},8,["show"]),t(re,{show:k.value,"onUpdate:show":e[18]||(e[18]=s=>k.value=s),"mask-closable":!1,preset:"card",title:n.value.id?"编辑 Hero":"添加 Hero",class:"aksrt-modal-card"},{footer:a(()=>[u("div",Me,[t(_(p),{onClick:e[17]||(e[17]=s=>k.value=!1)},{default:a(()=>[...e[38]||(e[38]=[i("取消",-1)])]),_:1}),t(_(p),{type:"primary",loading:L.value,onClick:le},{default:a(()=>[...e[39]||(e[39]=[i("保存",-1)])]),_:1},8,["loading"])])]),default:a(()=>[t(E,{model:n.value,"label-placement":"top",class:"aksrt-form"},{default:a(()=>[t(o,{label:"标题"},{default:a(()=>[t(f,{value:n.value.title,"onUpdate:value":e[1]||(e[1]=s=>n.value.title=s),placeholder:"可选,主标题"},null,8,["value"])]),_:1}),t(o,{label:"副标题"},{default:a(()=>[t(f,{value:n.value.subtitle,"onUpdate:value":e[2]||(e[2]=s=>n.value.subtitle=s),placeholder:"可选,副标题"},null,8,["value"])]),_:1}),t(o,{label:"背景图 URL"},{default:a(()=>[t(I,null,{default:a(()=>[t(f,{value:n.value.image_url,"onUpdate:value":e[3]||(e[3]=s=>n.value.image_url=s),placeholder:"https://..."},null,8,["value"]),t(_(p),{secondary:"",onClick:K},{default:a(()=>[...e[25]||(e[25]=[i("媒体库",-1)])]),_:1})]),_:1})]),_:1}),n.value.image_url?(g(),w("div",Ce,[t(_(D),{src:n.value.image_url,width:"100%",height:"160","object-fit":"cover","preview-src":n.value.image_url},null,8,["src","preview-src"])])):P("",!0),t(o,{label:"跳转链接"},{default:a(()=>[t(f,{value:n.value.link_url,"onUpdate:value":e[4]||(e[4]=s=>n.value.link_url=s),placeholder:"点击后跳转地址,可留空"},null,8,["value"])]),_:1}),t(o,{label:"描述文字"},{default:a(()=>[t(f,{value:n.value.description,"onUpdate:value":e[5]||(e[5]=s=>n.value.description=s),type:"textarea",rows:2,placeholder:"可选,显示在副标题下方"},null,8,["value"])]),_:1}),t(o,{label:"视频背景 URL"},{default:a(()=>[t(f,{value:n.value.video_url,"onUpdate:value":e[6]||(e[6]=s=>n.value.video_url=s),placeholder:"可选,MP4 视频地址替代背景图"},null,8,["value"])]),_:1}),u("div",Ne,[t(o,{label:"链接打开方式"},{default:a(()=>[t(M,{value:n.value.link_target,"onUpdate:value":e[7]||(e[7]=s=>n.value.link_target=s)},{default:a(()=>[t(c,{value:"_self"},{default:a(()=>[...e[26]||(e[26]=[i("当前窗口",-1)])]),_:1}),t(c,{value:"_blank"},{default:a(()=>[...e[27]||(e[27]=[i("新窗口",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),t(o,{label:"文字对齐"},{default:a(()=>[t(M,{value:n.value.text_align,"onUpdate:value":e[8]||(e[8]=s=>n.value.text_align=s)},{default:a(()=>[t(c,{value:"left"},{default:a(()=>[...e[28]||(e[28]=[i("左",-1)])]),_:1}),t(c,{value:"center"},{default:a(()=>[...e[29]||(e[29]=[i("居中",-1)])]),_:1}),t(c,{value:"right"},{default:a(()=>[...e[30]||(e[30]=[i("右",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),t(o,{label:"设备可见性"},{default:a(()=>[t(M,{value:n.value.device_visibility,"onUpdate:value":e[9]||(e[9]=s=>n.value.device_visibility=s)},{default:a(()=>[t(c,{value:"all"},{default:a(()=>[...e[31]||(e[31]=[i("全部",-1)])]),_:1}),t(c,{value:"pc"},{default:a(()=>[...e[32]||(e[32]=[i("仅电脑",-1)])]),_:1}),t(c,{value:"mobile"},{default:a(()=>[...e[33]||(e[33]=[i("仅移动",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),t(o,{label:"文字视差"},{default:a(()=>[t(y,{value:n.value.text_parallax,"onUpdate:value":e[10]||(e[10]=s=>n.value.text_parallax=s)},null,8,["value"])]),_:1}),t(o,{label:"文字大小(PC)"},{default:a(()=>[t(f,{value:n.value.text_size_pc,"onUpdate:value":e[11]||(e[11]=s=>n.value.text_size_pc=s),placeholder:"如 48px,留空默认"},null,8,["value"])]),_:1}),t(o,{label:"文字大小(移动)"},{default:a(()=>[t(f,{value:n.value.text_size_m,"onUpdate:value":e[12]||(e[12]=s=>n.value.text_size_m=s),placeholder:"如 28px,留空默认"},null,8,["value"])]),_:1})]),u("div",Se,[t(o,{label:"显示文字"},{default:a(()=>[t(y,{value:n.value.show_text,"onUpdate:value":e[13]||(e[13]=s=>n.value.show_text=s)},null,8,["value"])]),_:1}),t(o,{label:"排序"},{default:a(()=>[t(oe,{value:n.value.sort_order,"onUpdate:value":e[14]||(e[14]=s=>n.value.sort_order=s),min:0,style:{width:"100%"}},null,8,["value"])]),_:1}),t(o,{label:"启用"},{default:a(()=>[t(y,{value:n.value.enabled,"onUpdate:value":e[15]||(e[15]=s=>n.value.enabled=s)},null,8,["value"])]),_:1}),t(o,{label:"显示元信息"},{default:a(()=>[t(y,{value:n.value.show_meta,"onUpdate:value":e[16]||(e[16]=s=>n.value.show_meta=s)},null,8,["value"])]),_:1})]),t(ue,{"title-placement":"left",style:{margin:"16px 0 12px"}},{default:a(()=>[...e[34]||(e[34]=[i(" 图片图层(视差叠加) ",-1)])]),_:1}),(g(!0),w(pe,null,_e(n.value.layers,(s,C)=>(g(),w("div",{key:C,class:"aksrt-layer-item"},[u("div",Le,[u("strong",null,"图层 "+$(C+1),1),t(_(p),{size:"tiny",type:"error",quaternary:"",onClick:d=>Q(C)},{default:a(()=>[...e[35]||(e[35]=[i("删除",-1)])]),_:1},8,["onClick"])]),t(o,{label:"图片"},{default:a(()=>[t(I,null,{default:a(()=>[t(f,{value:s.image,"onUpdate:value":d=>s.image=d,placeholder:"图片 URL"},null,8,["value","onUpdate:value"]),t(_(p),{secondary:"",onClick:d=>ee(C)},{default:a(()=>[...e[36]||(e[36]=[i("媒体库",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024),u("div",Be,[t(o,{label:"原始尺寸"},{default:a(()=>[t(y,{value:s.free_size,"onUpdate:value":d=>s.free_size=d},null,8,["value","onUpdate:value"])]),_:2},1024),t(o,{label:"对齐方式"},{default:a(()=>[t(ie,{value:s.align,"onUpdate:value":d=>s.align=d,options:[{label:"居中",value:"center"},{label:"左上",value:"left top"},{label:"右上",value:"right top"},{label:"左下",value:"left bottom"},{label:"右下",value:"right bottom"}]},null,8,["value","onUpdate:value"])]),_:2},1024),t(o,{label:"视差"},{default:a(()=>[t(y,{value:s.parallax,"onUpdate:value":d=>s.parallax=d},null,8,["value","onUpdate:value"])]),_:2},1024),s.parallax?(g(),N(o,{key:0,label:"视差强度"},{default:a(()=>[t(V,{value:s.parallax_scale,"onUpdate:value":d=>s.parallax_scale=d,min:0,max:1,step:.05},null,8,["value","onUpdate:value"])]),_:2},1024)):P("",!0),s.parallax?(g(),N(o,{key:1,label:"视差透明度"},{default:a(()=>[t(V,{value:s.parallax_opacity,"onUpdate:value":d=>s.parallax_opacity=d,min:0,max:1,step:.05},null,8,["value","onUpdate:value"])]),_:2},1024)):P("",!0)])]))),128)),t(_(p),{size:"small",dashed:"",block:"",onClick:O,style:{"margin-top":"8px"}},{default:a(()=>[...e[37]||(e[37]=[i("+ 添加图层",-1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["show","title"])])}}},De=fe(Pe,[["__scopeId","data-v-2bdc0f38"]]);export{De as default};
|