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
8.6 KiB
JavaScript
2 lines
8.6 KiB
JavaScript
import{o as K,X as U,a4 as t,a3 as n,a1 as i,r as m,_ as O,W as g,Y as o,N as c,f as _,a2 as T,Z as Q,a5 as ee,k as d}from"./vendor-vue.Bykizn0M.js";import{a as f}from"./shared-api.D5_fnN32.js";import{o as ae}from"./media.BHNcAGK-.js";import{P as te}from"./PageHeader.Di3JTPjc.js";import{_ as le}from"./index.js";import{u as ne,a as se,B as p,d as E,b as z}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const oe={class:"aksrt-page-container content-page"},re={class:"aksrt-card-header-row"},ie={class:"aksrt-inline-setting"},ue={class:"aksrt-inline-setting__actions"},de={class:"aksrt-card-header-row"},me={class:"aksrt-card-header-row__left"},pe={class:"header-icon"},ce={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"},ve={class:"aksrt-card-header-row__title"},_e={key:0,class:"aksrt-modal-preview"},fe={class:"aksrt-modal-grid"},ge={class:"aksrt-modal-footer"},be={__name:"BannerManager",setup(ye){const P=O(),r=ne(),V=se();function j(){P.push("/page-display/header-components")}const x=m(!0),C=m(!1),b=m(!1),y=m(!1),h=m([]),k=m(!0),v=m(!1),l=m(S());function S(){return{id:0,title:"",subtitle:"",image_url:"",link_url:"",show_text:!0,enabled:!0,show_meta:!1,sort_order:0}}const D=[{title:"预览",key:"image_url",width:90,render(e){return e.image_url?d(E,{src:e.image_url,width:64,height:36,objectFit:"cover",previewSrc:e.image_url,style:"border-radius:4px;display:block;"}):d("span",{style:"color:#bbb;font-size:12px;"},"无")}},{title:"标题",key:"title",ellipsis:{tooltip:!0},render(e){return e.title||d("span",{style:"color:#bbb;"},"未命名")}},{title:"文字",key:"show_text",width:70,className:"aksrt-table-mobile-hide",render(e){return d(z,{size:"small",type:e.show_text?"info":"default"},{default:()=>e.show_text?"显示":"隐藏"})}},{title:"排序",key:"sort_order",width:64,className:"aksrt-table-mobile-hide"},{title:"元信息",key:"show_meta",width:78,className:"aksrt-table-mobile-hide",render(e){return d(z,{size:"small",type:e.show_meta?"info":"default"},{default:()=>e.show_meta?"显示":"隐藏"})}},{title:"状态",key:"enabled",width:84,render(e){return d(z,{size:"small",type:e.enabled?"success":"default"},{default:()=>e.enabled?"启用":"禁用"})}},{title:"操作",key:"actions",width:130,render(e){return d("div",{style:"display:flex;gap:6px;"},[d(p,{size:"tiny",onClick:()=>q(e)},{default:()=>"编辑"}),d(p,{size:"tiny",type:"error",quaternary:!0,onClick:()=>W(e)},{default:()=>"删除"})])}}];async function N(){try{x.value=!0;const e=await f.getHomepageBanners();e.code==="success"&&(h.value=e.data||[])}catch(e){r.error(e.message||"加载失败")}finally{x.value=!1}}async function I(){b.value=!0;try{const e=await f.getHomepageSettings(),a=(e==null?void 0:e.data)||{};k.value=a.homepage_module_banner_enabled!==!1}catch(e){r.error(e.message||"加载 Banner 开关失败")}finally{b.value=!1}}async function F(){y.value=!0;try{const e=await f.saveHomepageSettings({homepage_module_banner_enabled:k.value});if((e==null?void 0:e.code)==="success"){r.success("Banner 开关已保存");return}throw new Error((e==null?void 0:e.message)||"保存 Banner 开关失败")}catch(e){r.error(e.message||"保存 Banner 开关失败")}finally{y.value=!1}}function $(){l.value=S(),v.value=!0}function q(e){l.value={id:e.id,title:e.title||"",subtitle:e.subtitle||"",image_url:e.image_url||"",link_url:e.link_url||"",show_text:e.show_text!==!1,enabled:!!e.enabled,show_meta:e.show_meta===!0,sort_order:Number(e.sort_order)||0},v.value=!0}async function L(){try{const e=await ae({title:"选择 Banner 图片",buttonText:"使用这张 Banner 图"});e!=null&&e.url&&(l.value.image_url=e.url)}catch(e){r.error(e.message||"打开媒体库失败")}}async function R(){if(!l.value.image_url){r.warning("请填写 Banner 图片");return}C.value=!0;try{l.value.id?(await f.updateHomepageBanner(l.value.id,l.value),r.success("已保存")):(await f.createHomepageBanner(l.value),r.success("已添加")),v.value=!1,await N()}catch(e){r.error(e.message||"保存失败")}finally{C.value=!1}}function W(e){V.warning({title:"确认删除",content:`确定删除 Banner「${e.title||"未命名"}」?`,positiveText:"删除",negativeText:"取消",onPositiveClick:async()=>{try{await f.deleteHomepageBanner(e.id),r.success("已删除"),await N()}catch(a){r.error(a.message||"删除失败")}}})}return K(()=>{N(),I()}),(e,a)=>{const w=i("n-switch"),u=i("n-form-item"),H=i("n-form"),M=i("n-card"),X=i("n-data-table"),Y=i("n-empty"),Z=i("n-spin"),B=i("n-input"),A=i("n-input-group"),G=i("n-input-number"),J=i("n-modal");return g(),U("div",oe,[t(te,{title:"Banner 管理",desc:"管理首页内容流 Banner 幻灯片(图片、文案、跳转、启用状态)。"}),t(M,{class:"aksrt-section-card",style:{"margin-bottom":"16px"}},{header:n(()=>[o("div",re,[a[12]||(a[12]=o("strong",null,"Banner 显示开关",-1)),t(c(p),{size:"small",secondary:"",onClick:j},{default:n(()=>[...a[11]||(a[11]=[_("顶部多功能组件(轮播参数)",-1)])]),_:1})])]),default:n(()=>[t(H,{"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:n(()=>[t(u,{label:"显示首页 Banner"},{default:n(()=>[o("div",ie,[t(w,{value:k.value,"onUpdate:value":a[0]||(a[0]=s=>k.value=s),disabled:b.value||y.value},null,8,["value","disabled"]),a[13]||(a[13]=o("span",{class:"aksrt-inline-setting__hint"},"关闭后,首页 Banner 区块将不再渲染。",-1))])]),_:1})]),_:1}),o("div",ue,[t(c(p),{type:"primary",loading:y.value,disabled:b.value,onClick:F},{default:n(()=>[...a[14]||(a[14]=[_("保存 Banner 开关",-1)])]),_:1},8,["loading","disabled"])])]),_:1}),t(Z,{show:x.value,style:{width:"100%","min-height":"200px"}},{default:n(()=>[t(M,{class:"aksrt-section-card"},{header:n(()=>[o("div",de,[o("div",me,[o("span",pe,[(g(),U("svg",ce,[...a[15]||(a[15]=[o("rect",{width:"18",height:"14",x:"3",y:"5",rx:"2"},null,-1),o("path",{d:"M3 10h18"},null,-1)])]))]),o("strong",ve,"Banner 列表 ("+Q(h.value.length)+")",1)]),t(c(p),{type:"primary",size:"small",onClick:$},{default:n(()=>[...a[16]||(a[16]=[_("+ 添加 Banner",-1)])]),_:1})])]),default:n(()=>[h.value.length?(g(),T(X,{key:0,columns:D,data:h.value,"row-key":s=>s.id,bordered:!1,size:"small"},null,8,["data","row-key"])):(g(),T(Y,{key:1,description:"暂无 Banner,添加后即可在首页使用。"}))]),_:1})]),_:1},8,["show"]),t(J,{show:v.value,"onUpdate:show":a[10]||(a[10]=s=>v.value=s),"mask-closable":!1,preset:"card",title:l.value.id?"编辑 Banner":"添加 Banner",class:"aksrt-modal-card"},{footer:n(()=>[o("div",ge,[t(c(p),{onClick:a[9]||(a[9]=s=>v.value=!1)},{default:n(()=>[...a[18]||(a[18]=[_("取消",-1)])]),_:1}),t(c(p),{type:"primary",loading:C.value,onClick:R},{default:n(()=>[...a[19]||(a[19]=[_("保存",-1)])]),_:1},8,["loading"])])]),default:n(()=>[t(H,{model:l.value,"label-placement":"top",class:"aksrt-form"},{default:n(()=>[t(u,{label:"标题"},{default:n(()=>[t(B,{value:l.value.title,"onUpdate:value":a[1]||(a[1]=s=>l.value.title=s),placeholder:"开启文字后显示的主标题"},null,8,["value"])]),_:1}),t(u,{label:"副标题"},{default:n(()=>[t(B,{value:l.value.subtitle,"onUpdate:value":a[2]||(a[2]=s=>l.value.subtitle=s),placeholder:"开启文字后显示的副标题"},null,8,["value"])]),_:1}),t(u,{label:"Banner 图片"},{default:n(()=>[t(A,null,{default:n(()=>[t(B,{value:l.value.image_url,"onUpdate:value":a[3]||(a[3]=s=>l.value.image_url=s),placeholder:"https://..."},null,8,["value"]),t(c(p),{secondary:"",onClick:L},{default:n(()=>[...a[17]||(a[17]=[_("媒体库",-1)])]),_:1})]),_:1})]),_:1}),l.value.image_url?(g(),U("div",_e,[t(c(E),{src:l.value.image_url,width:"100%",height:"160","object-fit":"cover","preview-src":l.value.image_url},null,8,["src","preview-src"])])):ee("",!0),t(u,{label:"跳转链接"},{default:n(()=>[t(B,{value:l.value.link_url,"onUpdate:value":a[4]||(a[4]=s=>l.value.link_url=s),placeholder:"点击后跳转地址,可留空"},null,8,["value"])]),_:1}),o("div",fe,[t(u,{label:"显示文字"},{default:n(()=>[t(w,{value:l.value.show_text,"onUpdate:value":a[5]||(a[5]=s=>l.value.show_text=s)},null,8,["value"])]),_:1}),t(u,{label:"启用"},{default:n(()=>[t(w,{value:l.value.enabled,"onUpdate:value":a[6]||(a[6]=s=>l.value.enabled=s)},null,8,["value"])]),_:1}),t(u,{label:"显示元信息"},{default:n(()=>[t(w,{value:l.value.show_meta,"onUpdate:value":a[7]||(a[7]=s=>l.value.show_meta=s)},null,8,["value"])]),_:1}),t(u,{label:"排序"},{default:n(()=>[t(G,{value:l.value.sort_order,"onUpdate:value":a[8]||(a[8]=s=>l.value.sort_order=s),min:0,style:{width:"100%"}},null,8,["value"])]),_:1})])]),_:1},8,["model"])]),_:1},8,["show","title"])])}}},Ue=le(be,[["__scopeId","data-v-ef7a491f"]]);export{Ue as default};
|